=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== bpftrace-0.11.3/CHANGELOG.md-50- - [#1269](https://github.com/iovisor/bpftrace/pull/1269) bpftrace-0.11.3/CHANGELOG.md:51:- C style while loop support, `while ($a < 100) { $a++ }` bpftrace-0.11.3/CHANGELOG.md-52- - [#1066](https://github.com/iovisor/bpftrace/pull/1066) ############################################## bpftrace-0.11.3/CHANGELOG.md-677- - Adding tests for uprobe offset definitions (d894d0e) by Jiri Olsa <jolsa@kernel.org> bpftrace-0.11.3/CHANGELOG.md:678: - Add BfdDisasm class (8198628) by Jiri Olsa <jolsa@kernel.org> bpftrace-0.11.3/CHANGELOG.md:679: - Add Disasm class (6f7bc6f) by Jiri Olsa <jolsa@kernel.org> bpftrace-0.11.3/CHANGELOG.md-680- - Add support to check for libbfd/libopcodes libraries (542f2b9) by Jiri Olsa <jolsa@kernel.org> ############################################## bpftrace-0.11.3/CHANGELOG.md-721- - Add memory watchpoint probe type (#790) (854cd4b) by Dan Xu <dxu@dxuuu.xyz> bpftrace-0.11.3/CHANGELOG.md:722: - Add support for Go symbol names to uaddr (#805) (e6eb3dd) by Jason Keene <jasonkeene@gmail.com> bpftrace-0.11.3/CHANGELOG.md-723- - add option for JSON output (5c6f20a) by Andreas Gerstmayr <andreas@gerstmayr.me> ############################################## bpftrace-0.11.3/CHANGELOG.md-829- bpftrace-0.11.3/CHANGELOG.md:830: - Workaround for asm goto in Kernel 5+ headers (60263e1) by Matheus Marchini <mat@mmarchini.me> bpftrace-0.11.3/CHANGELOG.md-831- - Properly handle invalid `args` utilization (13c2e2e) by Augusto Caringi <acaringi@redhat.com> ############################################## bpftrace-0.11.3/CMakeLists.txt-126-if(${LIBBFD_FOUND} AND ${LIBOPCODES_FOUND}) bpftrace-0.11.3/CMakeLists.txt:127: set(HAVE_BFD_DISASM TRUE) bpftrace-0.11.3/CMakeLists.txt-128-endif() ############################################## bpftrace-0.11.3/INSTALL.md-116- bpftrace-0.11.3/INSTALL.md:117:- `quay.io/iovisor/bpftrace:${GIT_SHA}-${TYPE_TAG}`- eg `69149e94952db2eea579ad40e15fbc67c7b810d5-vanilla_llvm_clang_glibc2.27` bpftrace-0.11.3/INSTALL.md:118:- `quay.io/iovisor/bpftrace:${GIT_REF}-${TYPE_TAG}`- eg `master-vanilla_llvm_clang_glibc2.23` or `v0.9.5-vanilla_llvm_clang_glibc2.23` bpftrace-0.11.3/INSTALL.md-119- ############################################## bpftrace-0.11.3/INSTALL.md-121- bpftrace-0.11.3/INSTALL.md:122:- `quay.io/iovisor/bpftrace:${GIT_REF}`- eg `master` or `v0.9.5` bpftrace-0.11.3/INSTALL.md:123:- `quay.io/iovisor/bpftrace:${GIT_SHA}`- eg `69149e94952db2eea579ad40e15fbc67c7b810d5` bpftrace-0.11.3/INSTALL.md-124-- `quay.io/iovisor/bpftrace:latest` ############################################## bpftrace-0.11.3/docs/reference_guide.md-66- - [8. `ustack`: Stack Traces, User](#8-ustack-stack-traces-user) bpftrace-0.11.3/docs/reference_guide.md:67: - [9. `$1`, ..., `$N`, `$#`: Positional Parameters](#9-1--n--positional-parameters) bpftrace-0.11.3/docs/reference_guide.md-68-- [Functions](#functions) ############################################## bpftrace-0.11.3/docs/reference_guide.md-75- - [7. `usym()`: Symbol Resolution, User-Level](#7-usym-symbol-resolution-user-level) bpftrace-0.11.3/docs/reference_guide.md:76: - [8. `kaddr()`: Address Resolution, Kernel-Level](#8-kaddr-address-resolution-kernel-level) bpftrace-0.11.3/docs/reference_guide.md:77: - [9. `uaddr()`: Address Resolution, User-Level](#9-uaddr-address-resolution-user-level) bpftrace-0.11.3/docs/reference_guide.md-78- - [10. `reg()`: Registers](#10-reg-registers) ############################################## bpftrace-0.11.3/docs/reference_guide.md-231-with either the path to your installed bpftrace (/usr/local/bin is the default) or the path to `env` bpftrace-0.11.3/docs/reference_guide.md:232:(usually just `/usr/bin/env`) followed by `bpftrace` (so it will find bpftrace in your `$PATH`): bpftrace-0.11.3/docs/reference_guide.md-233- ############################################## bpftrace-0.11.3/docs/reference_guide.md-1256- bpftrace-0.11.3/docs/reference_guide.md:1257:bpftrace also supports USDT semaphores. You may activate semaphores by passing in `-p $PID` or bpftrace-0.11.3/docs/reference_guide.md-1258-`--usdt-file-activation`. `--usdt-file-activation` looks through `/proc` to find processes that ############################################## bpftrace-0.11.3/docs/reference_guide.md-1579-- `cpid` - Child pid(u32), only valid with the `-c command` flag bpftrace-0.11.3/docs/reference_guide.md:1580:- `$1`, `$2`, ..., `$N`, `$#`. - Positional parameters for the bpftrace program bpftrace-0.11.3/docs/reference_guide.md-1581- ############################################## bpftrace-0.11.3/docs/reference_guide.md-1636- bpftrace-0.11.3/docs/reference_guide.md:1637:Syntax: `$name` bpftrace-0.11.3/docs/reference_guide.md-1638- bpftrace-0.11.3/docs/reference_guide.md:1639:For example, `$delta`: bpftrace-0.11.3/docs/reference_guide.md-1640- ############################################## bpftrace-0.11.3/docs/reference_guide.md-1841- bpftrace-0.11.3/docs/reference_guide.md:1842:## 9. `$1`, ..., `$N`, `$#`: Positional Parameters bpftrace-0.11.3/docs/reference_guide.md-1843- bpftrace-0.11.3/docs/reference_guide.md:1844:Syntax: `$1`, `$2`, ..., `$N`, `$#` bpftrace-0.11.3/docs/reference_guide.md-1845- ############################################## bpftrace-0.11.3/docs/reference_guide.md-1851- bpftrace-0.11.3/docs/reference_guide.md:1852:`$#` returns the number of positional arguments supplied. bpftrace-0.11.3/docs/reference_guide.md-1853- ############################################## bpftrace-0.11.3/docs/reference_guide.md-1927-- `usym(void *p)` - Resolve user space address bpftrace-0.11.3/docs/reference_guide.md:1928:- `kaddr(char *name)` - Resolve kernel symbol name bpftrace-0.11.3/docs/reference_guide.md:1929:- `uaddr(char *name)` - Resolve user-level symbol name bpftrace-0.11.3/docs/reference_guide.md-1930-- `reg(char *name)` - Returns the value stored in the named register ############################################## bpftrace-0.11.3/docs/reference_guide.md-2095- bpftrace-0.11.3/docs/reference_guide.md:2096:## 8. `kaddr()`: Address resolution, kernel-level bpftrace-0.11.3/docs/reference_guide.md-2097- bpftrace-0.11.3/docs/reference_guide.md:2098:Syntax: `kaddr(char *name)` bpftrace-0.11.3/docs/reference_guide.md-2099- ############################################## bpftrace-0.11.3/docs/reference_guide.md-2102-``` bpftrace-0.11.3/docs/reference_guide.md:2103:# bpftrace -e 'BEGIN { printf("%s\n", str(*kaddr("usbcore_name"))); }' bpftrace-0.11.3/docs/reference_guide.md-2104-Attaching 1 probe... ############################################## bpftrace-0.11.3/docs/reference_guide.md-2114- bpftrace-0.11.3/docs/reference_guide.md:2115:## 9. `uaddr()`: Address resolution, user-level bpftrace-0.11.3/docs/reference_guide.md-2116- bpftrace-0.11.3/docs/reference_guide.md-2117-Syntax: bpftrace-0.11.3/docs/reference_guide.md:2118:- `u64 *uaddr(symbol)` (default) bpftrace-0.11.3/docs/reference_guide.md:2119:- `u64 *uaddr(symbol)` bpftrace-0.11.3/docs/reference_guide.md:2120:- `u32 *uaddr(symbol)` bpftrace-0.11.3/docs/reference_guide.md:2121:- `u16 *uaddr(symbol)` bpftrace-0.11.3/docs/reference_guide.md:2122:- `u8 *uaddr(symbol)` bpftrace-0.11.3/docs/reference_guide.md-2123- ############################################## bpftrace-0.11.3/docs/reference_guide.md-2140-``` bpftrace-0.11.3/docs/reference_guide.md:2141:# bpftrace -e 'uprobe:/bin/bash:readline { printf("PS1: %s\n", str(*uaddr("ps1_prompt"))); }' bpftrace-0.11.3/docs/reference_guide.md-2142-Attaching 1 probe... ############################################## bpftrace-0.11.3/man/man8/bpftrace.8-367-.TP bpftrace-0.11.3/man/man8/bpftrace.8:368:\fBkaddr(char *name)\fR bpftrace-0.11.3/man/man8/bpftrace.8-369-Resolve kernel symbol name ############################################## bpftrace-0.11.3/man/man8/bpftrace.8-371-.TP bpftrace-0.11.3/man/man8/bpftrace.8:372:\fBuaddr(char *name)\fR bpftrace-0.11.3/man/man8/bpftrace.8-373-Resolve user space symbol name ############################################## bpftrace-0.11.3/resources/clang_workarounds.h-7-// bpftrace-0.11.3/resources/clang_workarounds.h:8:// clang does not support "asm volatile goto" yet. bpftrace-0.11.3/resources/clang_workarounds.h:9:// So redefine asm_volatile_goto to some invalid asm code. bpftrace-0.11.3/resources/clang_workarounds.h-10-// We won't execute this code anyway, so we just need to make sure clang is ############################################## bpftrace-0.11.3/resources/clang_workarounds.h-16-#undef asm_volatile_goto bpftrace-0.11.3/resources/clang_workarounds.h:17:#define asm_volatile_goto(x...) asm volatile("invalid use of asm_volatile_goto") bpftrace-0.11.3/resources/clang_workarounds.h-18-#endif ############################################## bpftrace-0.11.3/resources/clang_workarounds.h-20-// In Linux 5.4 asm_inline was introduced, but it's not supported by clang. bpftrace-0.11.3/resources/clang_workarounds.h:21:// Redefine it to just asm to enable successful compilation. bpftrace-0.11.3/resources/clang_workarounds.h-22-// ############################################## bpftrace-0.11.3/src/ast/attachpoint_parser.cpp-121- // There's an assumption that the positional paramter is well bpftrace-0.11.3/src/ast/attachpoint_parser.cpp:122: // formed. ie we are not expecting a bare `$` or `$nonint`. The bpftrace-0.11.3/src/ast/attachpoint_parser.cpp-123- // bison parser should have guaranteed this. ############################################## bpftrace-0.11.3/src/ast/codegen_llvm.cpp-1688- // bpftrace-0.11.3/src/ast/codegen_llvm.cpp:1689: // e.g. in the case of `while (..) { $i++; break; $i++ }` the ir will be: bpftrace-0.11.3/src/ast/codegen_llvm.cpp-1690- // ############################################## bpftrace-0.11.3/src/ast/semantic_analyser.cpp-1102- error("tuple cannot be used as a map key. Try a multi-key associative" bpftrace-0.11.3/src/ast/semantic_analyser.cpp:1103: " array instead (eg `@map[$1, $2] = ...)`.", bpftrace-0.11.3/src/ast/semantic_analyser.cpp-1104- map.loc); ############################################## bpftrace-0.11.3/src/attached_probe.cpp-342-{ bpftrace-0.11.3/src/attached_probe.cpp:343: Disasm dasm(path); bpftrace-0.11.3/src/attached_probe.cpp-344- AlignState aligned = dasm.is_aligned(sym_offset, func_offset); ############################################## bpftrace-0.11.3/src/bfd-disasm.h-6- bpftrace-0.11.3/src/bfd-disasm.h:7:class BfdDisasm : public IDisasm bpftrace-0.11.3/src/bfd-disasm.h-8-{ ############################################## bpftrace-0.11.3/src/disasm.cpp-5- bpftrace-0.11.3/src/disasm.cpp:6:class DummyDisasm : public IDisasm bpftrace-0.11.3/src/disasm.cpp-7-{ ############################################## bpftrace-0.11.3/src/triggers.h-4-{ bpftrace-0.11.3/src/triggers.h:5: void __attribute__((noinline)) BEGIN_trigger() { asm (""); } bpftrace-0.11.3/src/triggers.h:6: void __attribute__((noinline)) END_trigger() { asm (""); } bpftrace-0.11.3/src/triggers.h-7-} ############################################## bpftrace-0.11.3/tests/README.md-32-However as not everything can be rewritten loading a LLVM version specific bpftrace-0.11.3/tests/README.md:33:result file is also supported. These have a `_LLVM-${VERSION}` suffix (e.g. bpftrace-0.11.3/tests/README.md-34-`call_str_LLVM-5.ll`). ############################################## bpftrace-0.11.3/tests/codegen/common.h-250- bpftrace-0.11.3/tests/codegen/common.h:251:static std::string rewrite_local_unnamed_addr(const std::string &line) bpftrace-0.11.3/tests/codegen/common.h-252-{ ############################################## bpftrace-0.11.3/tests/codegen/common.h-303- else if (line.find("local_unnamed_addr") != std::string::npos) bpftrace-0.11.3/tests/codegen/common.h:304: buf << rewrite_local_unnamed_addr(line); bpftrace-0.11.3/tests/codegen/common.h-305- else if (line.find("getelementptr inbounds") != std::string::npos) ############################################## bpftrace-0.11.3/tests/parser.cpp-926-{ bpftrace-0.11.3/tests/parser.cpp:927: test("kprobe:f { @ = kaddr(\"avenrun\") }", bpftrace-0.11.3/tests/parser.cpp-928- "Program\n" ############################################## bpftrace-0.11.3/tests/runtime/call-169-NAME uaddr bpftrace-0.11.3/tests/runtime/call:170:RUN bpftrace -v -e 'uprobe:testprogs/uprobe_test:function1 { printf("0x%lx -- 0x%lx\n", *uaddr("GLOBAL_A"), *uaddr("GLOBAL_C")); exit(); }' -c ./testprogs/uprobe_test bpftrace-0.11.3/tests/runtime/call-171-EXPECT 0x55555555 -- 0x33333333 ############################################## bpftrace-0.11.3/tests/semantic_analyser.cpp-187- test("kprobe:f { usym(0xffff) }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:188: test("kprobe:f { kaddr(\"sym\") }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp-189- test("kprobe:f { ntop(0xffff) }", 0); ############################################## bpftrace-0.11.3/tests/semantic_analyser.cpp-194- test("kprobe:f { cat(\"/proc/uptime\") }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:195: test("uprobe:/bin/bash:main { uaddr(\"glob_asciirange\") }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp-196- test("kprobe:f { cgroupid(\"/sys/fs/cgroup/unified/mycg\"); }", 0); ############################################## bpftrace-0.11.3/tests/semantic_analyser.cpp-626-{ bpftrace-0.11.3/tests/semantic_analyser.cpp:627: test("kprobe:f { kaddr(\"avenrun\"); }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:628: test("kprobe:f { @x = kaddr(\"avenrun\"); }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:629: test("kprobe:f { kaddr(); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp:630: test("kprobe:f { kaddr(123); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp-631-} ############################################## bpftrace-0.11.3/tests/semantic_analyser.cpp-634-{ bpftrace-0.11.3/tests/semantic_analyser.cpp:635: test("u:/bin/bash:main { uaddr(\"github.com/golang/glog.severityName\"); }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:636: test("uprobe:/bin/bash:main { uaddr(\"glob_asciirange\"); }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:637: test("u:/bin/bash:main,u:/bin/bash:readline { uaddr(\"glob_asciirange\"); }", bpftrace-0.11.3/tests/semantic_analyser.cpp-638- 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:639: test("uprobe:/bin/bash:main { @x = uaddr(\"glob_asciirange\"); }", 0); bpftrace-0.11.3/tests/semantic_analyser.cpp:640: test("uprobe:/bin/bash:main { uaddr(); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp:641: test("uprobe:/bin/bash:main { uaddr(123); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp:642: test("uprobe:/bin/bash:main { uaddr(\"?\"); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp:643: test("uprobe:/bin/bash:main { $str = \"glob_asciirange\"; uaddr($str); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp:644: test("uprobe:/bin/bash:main { @str = \"glob_asciirange\"; uaddr(@str); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp-645- bpftrace-0.11.3/tests/semantic_analyser.cpp:646: test("k:f { uaddr(\"A\"); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp:647: test("i:s:1 { uaddr(\"A\"); }", 1); bpftrace-0.11.3/tests/semantic_analyser.cpp-648- ############################################## bpftrace-0.11.3/tests/semantic_analyser.cpp-652- std::string prog = "uprobe:/bin/bash:main {" bpftrace-0.11.3/tests/semantic_analyser.cpp:653: "$a = uaddr(\"12345_1\");" bpftrace-0.11.3/tests/semantic_analyser.cpp:654: "$b = uaddr(\"12345_2\");" bpftrace-0.11.3/tests/semantic_analyser.cpp:655: "$c = uaddr(\"12345_4\");" bpftrace-0.11.3/tests/semantic_analyser.cpp:656: "$d = uaddr(\"12345_8\");" bpftrace-0.11.3/tests/semantic_analyser.cpp:657: "$e = uaddr(\"12345_5\");" bpftrace-0.11.3/tests/semantic_analyser.cpp:658: "$f = uaddr(\"12345_33\");" bpftrace-0.11.3/tests/semantic_analyser.cpp-659- "}"; ############################################## bpftrace-0.11.3/tests/semantic_analyser.cpp-914- test("kprobe:f { system() }", 1, false /* safe_mode */); bpftrace-0.11.3/tests/semantic_analyser.cpp:915: test("kprobe:f { $fmt = \"mystring\"; system($fmt) }", 1, false /* safe_mode */); bpftrace-0.11.3/tests/semantic_analyser.cpp-916-} ############################################## bpftrace-0.11.3/tools/loads.bt-30- */ bpftrace-0.11.3/tools/loads.bt:31: $avenrun = kaddr("avenrun"); bpftrace-0.11.3/tools/loads.bt-32- $load1 = *$avenrun; ############################################## bpftrace-0.11.3/debian/rules-21- case $$eachMan in */bpftrace.*) continue ;; esac ; \ bpftrace-0.11.3/debian/rules:22: mv $$eachMan `echo $$eachMan | sed 's+\.8+.bt.8+'`; \ bpftrace-0.11.3/debian/rules-23- done