markdrayton and yonghong-song biolatency: Fix --disks bpf_probe_read() (#1980)
bpf_probe_read()'s third argument is no longer rewritten. Instead, use a
temporary variable (like #1973) to avoid a memory access error.

Before:

```
$ sudo biolatency -D 1
bpf: Failed to load program: Permission denied
0: (79) r1 = *(u64 *)(r1 +112)
1: (7b) *(u64 *)(r10 -8) = r1
[..]
R1 invalid mem access 'inv'

HINT: The invalid mem access 'inv' error can happen if you try to
dereference memory without first using bpf_probe_read() to copy it to
the BPF stack. Sometimes the bpf_probe_read is automatic by the bcc
rewriter, other times you'll need to be explicit.
```

After, works as expected.
Latest commit fc245df Sep 20, 2018
Permalink
..
Failed to load latest commit information.
lib Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
old Update oomkill.py (#1945) Aug 28, 2018
CMakeLists.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
argdist.py [tools/argdist.py] Fix a wrong place of help info (#1939) Aug 21, 2018
argdist_example.txt Add -d (duration) option to argdist, funclatency and syscount (#1768) May 18, 2018
bashreadline.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
bashreadline_example.txt bashreadline Jan 29, 2016
biolatency.py biolatency: Fix --disks bpf_probe_read() (#1980) Sep 19, 2018
biolatency_example.txt trawl typos with aspell Feb 6, 2016
biosnoop.lua Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
biosnoop.py Skip dereferences inside bpf_probe_reads calls (#1824) Jun 14, 2018
biosnoop_example.txt fix pep8 lint errors in biolatency and biosnoop Jan 9, 2016
biotop.py Drop use of 'allow_abbrev' as its python 3.5 or later only Jan 20, 2018
biotop_example.txt biotop Feb 7, 2016
bitesize.py Python 3 compatibility fixes around string handling (#986) Mar 26, 2017
bitesize_example.txt bitesize nits Feb 7, 2016
bpflist.py fixing bpflist Apr 18, 2018
bpflist_example.txt bpflist: Display processes with running BPF programs and maps Mar 9, 2017
btrfsdist.py continue adding --ebpf option to the python tools/ scripts Feb 2, 2018
btrfsdist_example.txt btrfsdist Feb 16, 2016
btrfsslower.py tools: Remove unnecessary bpf_probe_read May 6, 2018
btrfsslower_example.txt btrfsslower Feb 16, 2016
cachestat.py Update scripts to use `increment` (#1905) Aug 1, 2018
cachestat_example.txt tools/cachestat: Rewrite it so it makes more sense Mar 1, 2018
cachetop.py Update scripts to use `increment` (#1905) Aug 1, 2018
cachetop_example.txt [cachetop] Display sorting field and order. Jul 26, 2016
capable.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
capable_example.txt new tool: capable (#690) Sep 14, 2016
cobjnew.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
cobjnew_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
cpudist.py continue adding --ebpf option to the python tools/ scripts Feb 2, 2018
cpudist_example.txt cpudist: Support off-cpu time reports Jun 30, 2016
cpuunclaimed.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
cpuunclaimed_example.txt correct spelling mistakes Oct 12, 2017
criticalstat.py criticalstat: Fix check for invalid stacks (#1839) Jun 19, 2018
criticalstat_example.txt bcc: criticalstat: Add an atomic critical section tracer (#1801) Jun 19, 2018
dbslower.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
dbslower_example.txt dbslower: MySQL/PostgreSQL query tracing tool Feb 16, 2017
dbstat.py db*: Print the BPF program prior to loading it (in -v mode) Apr 20, 2017
dbstat_example.txt dbstat: Collect histograms of MySQL/PostgreSQL query latencies Feb 16, 2017
dcsnoop.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
dcsnoop_example.txt dcsnoop Feb 10, 2016
dcstat.py correct spelling mistakes Oct 12, 2017
dcstat_example.txt dcstat Feb 10, 2016
deadlock_detector.c Use new helper Macro across files Mar 29, 2017
deadlock_detector.py using get_syscall_fnname to get kprobe func name for tools Apr 25, 2018
deadlock_detector_example.txt Address round 2 of comments in #936 Feb 4, 2017
execsnoop.py Add inline comment about issue in 4.13 kernels. Jul 13, 2018
execsnoop_example.txt execsnoop: argument to change the number of arguments parsed Oct 12, 2017
ext4dist.py tools: Skip backward time entries v2 (#1958) Sep 2, 2018
ext4dist_example.txt ext4dist Feb 12, 2016
ext4slower.py Modify trace function from generic_file_read_iter() to ext4_file_read… Jun 14, 2018
ext4slower_example.txt ext4slower Feb 12, 2016
filelife.py Skip dereferences inside bpf_probe_reads calls (#1824) Jun 14, 2018
filelife_example.txt filelife Feb 9, 2016
fileslower.py Skip dereferences inside bpf_probe_reads calls (#1824) Jun 14, 2018
fileslower_example.txt fileslower/filetop: use de->d_name.name, add filtering Aug 29, 2016
filetop.py Skip dereferences inside bpf_probe_reads calls (#1824) Jun 14, 2018
filetop_example.txt filetop: support specifying sort column via cmdline argument Mar 2, 2017
funccount.py tools: switch to v2/3 independent bytes usage Feb 8, 2018
funccount_example.txt funccount: add -d for duration Aug 24, 2017
funclatency.py Add -d (duration) option to argdist, funclatency and syscount (#1768) May 18, 2018
funclatency_example.txt Add -d (duration) option to argdist, funclatency and syscount (#1768) May 18, 2018
funcslower.py Removing saving kernel ip for later IP checking for funcslower Jun 8, 2018
funcslower_example.txt Updating example for funcslower Jun 8, 2018
gethostlatency.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
gethostlatency_example.txt gethostlatency: Filter on PID Feb 13, 2017
hardirqs.py Update scripts to use `increment` (#1905) Aug 1, 2018
hardirqs_example.txt hardirqs: add --count for event counts (#1460) Nov 27, 2017
inject.py Fedora 28 support (#1820) Jul 23, 2018
inject_example.txt More helpful help message Apr 13, 2018
javacalls.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
javacalls_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
javaflow.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
javaflow_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
javagc.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
javagc_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
javaobjnew.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
javaobjnew_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
javastat.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
javastat_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
javathreads.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
javathreads_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
killsnoop.py Fedora 28 support (#1820) Jul 23, 2018
killsnoop_example.txt killsnoop: use current time replace timestamp and default output Aug 13, 2016
llcstat.py llcstat: print a nicer error message when hardware events are missing Aug 7, 2018
llcstat_example.txt Update profile.py to use new perf support (#776) Oct 21, 2016
mdflush.py Skip dereferences inside bpf_probe_reads calls (#1824) Jun 14, 2018
mdflush_example.txt mdflush Feb 14, 2016
memleak.py python3 fixes and testing support (#1916) Aug 9, 2018
memleak_example.txt memleak: expand allocator coverage (#1214) Jul 11, 2017
mountsnoop.py generate indirect parameter assignment if arch uses syscall wrapper (#… Jun 13, 2018
mountsnoop_example.txt Add new mountsnoop tool (#750) Oct 16, 2016
mysqld_qslower.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
mysqld_qslower_example.txt MySQL USDT tool and example (#642) Aug 1, 2016
nfsdist.py continue adding --ebpf option to the python tools/ scripts Feb 2, 2018
nfsdist_example.txt nfsdist tool (#1347) Sep 12, 2017
nfsslower.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
nfsslower_example.txt nfsslower: trace slow NFS operations Sep 4, 2017
nodegc.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
nodegc_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
nodestat.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
nodestat_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
offcputime.py Update scripts to use `increment` (#1905) Aug 1, 2018
offcputime_example.txt add --state to offcputime Aug 11, 2017
offwaketime.py Update scripts to use `increment` (#1905) Aug 1, 2018
offwaketime_example.txt correct spelling mistakes Oct 12, 2017
oomkill.py Update oomkill.py (#1945) Aug 28, 2018
oomkill_example.txt oomkill Feb 10, 2016
opensnoop.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
opensnoop_example.txt opensnoop: -d option for duration Jan 28, 2018
perlcalls.sh Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
perlcalls_example.txt Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
perlflow.sh Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
perlflow_example.txt Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
perlstat.sh Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
perlstat_example.txt Add Perl support for ucalls / uflow / ustat (#1959) Sep 4, 2018
phpcalls.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
phpcalls_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
phpflow.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
phpflow_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
phpstat.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
phpstat_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
pidpersec.py Remove extra S_MAXSTAT array allocation in some tools Aug 16, 2017
pidpersec_example.txt some bcc examples and tools Aug 18, 2015
profile.py Update scripts to use `increment` (#1905) Aug 1, 2018
profile_example.txt [profile.py]: adding support to collect profile only from specified C… Jul 19, 2018
pythoncalls.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
pythoncalls_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
pythonflow.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
pythonflow_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
pythongc.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
pythongc_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
pythonstat.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
pythonstat_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
reset-trace.sh add reset-trace (#766) Oct 20, 2016
reset-trace_example.txt add reset-trace (#766) Oct 20, 2016
rubycalls.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
rubycalls_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
rubyflow.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
rubyflow_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
rubygc.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
rubygc_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
rubyobjnew.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
rubyobjnew_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
rubystat.sh u* tools: per-language wrappers (#1086) Apr 2, 2017
rubystat_example.txt u* tools: per-language wrappers (#1086) Apr 2, 2017
runqlat.py tools: remove unnecessary calls to bpf_probe_read Jul 1, 2018
runqlat_example.txt runqlat: add --pidnss option (#1117) Apr 18, 2017
runqlen.py Remove duplicate ebpf program load in tools/runqlen.py May 3, 2018
runqlen_example.txt add runqlen tool Dec 14, 2016
runqslower.py tools: remove unnecessary calls to bpf_probe_read Jul 1, 2018
runqslower_example.txt Fix typo Jun 5, 2018
slabratetop.py Skip dereferences inside bpf_probe_reads calls (#1824) Jun 14, 2018
slabratetop_example.txt add slabratetop (#759) Oct 18, 2016
softirqs.py Update scripts to use `increment` (#1905) Aug 1, 2018
softirqs_example.txt trawl typos with aspell Feb 6, 2016
solisten.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
solisten_example.txt add solisten tool. Currently TCP only. Mar 23, 2016
sslsniff.py sslsniff: add NSS support (#1908) Aug 4, 2018
sslsniff_example.txt sslsniff: add NSS support (#1908) Aug 4, 2018
stackcount.py Update scripts to use `increment` (#1905) Aug 1, 2018
stackcount_example.txt stackcount: add -K, -U, -d, -D, and -f (#1335) Sep 3, 2017
stacksnoop.lua Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
statsnoop.py generate indirect parameter assignment if arch uses syscall wrapper (#… Jun 13, 2018
statsnoop_example.txt statsnoop Feb 9, 2016
syncsnoop.py generate indirect parameter assignment if arch uses syscall wrapper (#… Jun 13, 2018
syncsnoop_example.txt fix pep8 lint errors in the rest of the tools Jan 14, 2016
syscount.py [tools/syscount.py]: fix total_ns wrong count (#1931) Aug 16, 2018
syscount_example.txt Add -d (duration) option to argdist, funclatency and syscount (#1768) May 18, 2018
tcpaccept.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcpaccept_example.txt IPv6 support for tcp* tools (#582) Jun 26, 2016
tcpconnect.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcpconnect_example.txt [tcpconnect] filter traced connection based on destination ports Sep 16, 2016
tcpconnlat.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcpconnlat_example.txt Updating tcpconnlat example to include min_ms Jan 19, 2018
tcpdrop.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcpdrop_example.txt add tcpdrop tool May 30, 2018
tcplife.lua Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
tcplife.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcplife_example.txt correct spelling mistakes Oct 12, 2017
tcpretrans.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcpretrans_example.txt tcpretrans: extend for counting Dec 14, 2017
tcpstates.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcpstates_example.txt add the tcpstates tool Mar 21, 2018
tcpsubnet.py Update scripts to use `increment` (#1905) Aug 1, 2018
tcpsubnet_example.txt tools/tcpsubnet: add time and time to output, default 0.0.0.0/0, upda… Mar 6, 2018
tcptop.py tcp tools: finalize data type conversion (#1961) Sep 11, 2018
tcptop_example.txt tcptop (#726) Oct 4, 2016
tcptracer.py tools: remove unnecessary calls to bpf_probe_read Jul 1, 2018
tcptracer_example.txt tools/tcptracer: add timestamp option Aug 11, 2017
tplist.py Travis CI build to check compliance with PEP8 (#987) Mar 4, 2017
tplist_example.txt usdt: permit each probe to have locations from more than one binary path Jan 12, 2018
trace.py support "long" and "unsigned long" type in trace.py (#1977) Sep 19, 2018
trace_example.txt [trace.py]: allow to use STRCMP helper with binary values (#1900) Jul 27, 2018
ttysnoop.py Rename kprobe_poll to perf_buffer_poll Mar 2, 2018
ttysnoop_example.txt add ttysnoop (#755) Oct 16, 2016
vfscount.py Update scripts to use `increment` (#1905) Aug 1, 2018
vfscount_example.txt fix pep8 lint errors in the rest of the tools Jan 14, 2016
vfsstat.py Remove extra S_MAXSTAT array allocation in some tools Aug 16, 2017
vfsstat_example.txt fix pep8 lint errors in the rest of the tools Jan 14, 2016
wakeuptime.py Update wakeuptime.py (#1957) Aug 31, 2018
wakeuptime_example.txt Update 'tools/wakeuptime' documentation Nov 17, 2017
xfsdist.py continue adding --ebpf option to the python tools/ scripts Feb 2, 2018
xfsdist_example.txt xfsdist Feb 12, 2016
xfsslower.py tools: Skip backward time entries v2 (#1958) Sep 2, 2018
xfsslower_example.txt xfsslower Feb 12, 2016
zfsdist.py zfsdist: fix for python3 May 29, 2018
zfsdist_example.txt zfsdist Feb 15, 2016
zfsslower.py Decode C strings into Python strings (#1844) Jun 22, 2018
zfsslower_example.txt zfsslower Feb 15, 2016