Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1495 commits
Select commit Hold shift + click to select a range
cb23ebb
bcc: Add basic and usdt support for LoongArch
seehearfeel Jul 19, 2022
4c2d123
libbpf-tools: tcpconnect: take source port into consideration
aspsk Jul 28, 2022
4a8b593
tools/profile: add multi process/thread support, like perf convention
yezhengmao1 Jul 12, 2022
4902819
Update biosnoop.py (#4124)
WuXianChangKuang Jul 29, 2022
300fc6a
[test] Fix wrapper script to allow testing individual tests (#4126)
chantra Jul 29, 2022
4a60443
tools/cpudist: Add extension summary support (#4131)
xingfeng2510 Jul 29, 2022
8528919
tools/syscount: Add syscall filter support (#4132)
xingfeng2510 Jul 29, 2022
6616092
[lsan] Fix leaks detected by sanitier
chantra Jul 22, 2022
1fd6e19
sigsnoop: Get rid of SIGIOT
namhyung Jul 26, 2022
aacec93
tools/mdflush: include blkdev.h instead of genhd.h
jeromemarchand Aug 1, 2022
1bc837e
libbpf-tools: Build and use lightweight bootstrap version of bpftool
chenhengqi Aug 1, 2022
30ea527
Merge pull request #4143 from chenhengqi/bpftool-bootstrap
davemarchevsky Aug 1, 2022
58fe075
Merge pull request #4142 from jeromemarchand/mdflush-genhd
davemarchevsky Aug 1, 2022
f6c4b4c
Merge pull request #4135 from aspsk/aspsk/tcpconnect-add-an-option
davemarchevsky Aug 1, 2022
0e29f70
tools/biolatency: Simplify extension summary redundant logic (#4145)
xingfeng2510 Aug 4, 2022
1d68595
oomkill: Remove extra trailing newline from output
chenhengqi Aug 4, 2022
86bf109
tools/cpudist: Fix warning introduced by recent change
chenhengqi Aug 6, 2022
bd72584
libbpf-tools: Add javagc monitor
Jul 23, 2022
17c1ac3
Merge pull request #4149 from chenhengqi/fix-cpudist
davemarchevsky Aug 8, 2022
dda13ed
Merge pull request #4147 from chenhengqi/fix-oomkill-output
davemarchevsky Aug 8, 2022
408fb40
tools/syscount: Use lock_xadd to guarantee atomicity of addition oper…
xingfeng2510 Aug 9, 2022
c65e6c5
fix llvm15 compilation error
yonghong-song Aug 10, 2022
1c4e10b
fix a llvm compilation error with llvm16
yonghong-song Aug 10, 2022
5bf9b4d
Sync with latest libbpf repo
yonghong-song Aug 10, 2022
711f030
Update debian changelog for release v0.25.0
yonghong-song Aug 10, 2022
770a590
[test] Fix Wrapper script to properly handle arguments
chantra Aug 11, 2022
01053c4
[test_infra] Add systemtap devel header and ruby to fedora docker
davemarchevsky Aug 8, 2022
69f652e
Merge pull request #4151 from iovisor/davemarchevsky-test-fixes
davemarchevsky Aug 11, 2022
219c8fb
[test][sockhash/map] Fix the test to work with kernels >= 5.15
chantra Aug 11, 2022
fc46efd
Attempt to find kernel's linux/version.h for the running kernel
chantra Aug 12, 2022
042f8d4
Merge pull request #4164 from chantra/fix_sock_map_tests
davemarchevsky Aug 12, 2022
4a717c9
[test][usdt_probes][bionic] kill child manually
chantra Aug 11, 2022
fd473d7
[test] fix module search test
chantra Aug 12, 2022
b7e5638
Merge pull request #4163 from chantra/fix_unshare_killchild
davemarchevsky Aug 12, 2022
3130f0f
Merge pull request #4165 from chantra/fix_module_search_test
davemarchevsky Aug 12, 2022
f9aa1e7
Merge pull request #4162 from chantra/fix_test_wrapper_escaping
davemarchevsky Aug 12, 2022
08a26ed
test_bpf_table: Re-add deletion of 'bpf' module
davemarchevsky Aug 12, 2022
fa41a40
Merge pull request #4167 from davemarchevsky/davemarchevsky_fix_bpf_t…
davemarchevsky Aug 12, 2022
5cad4ab
[tests] fix python tests
chantra Aug 12, 2022
0885e91
Merge pull request #4169 from chantra/fix_python_tests
davemarchevsky Aug 13, 2022
be735b0
test_tools_smoke.py: mayFail test_offwaketime
davemarchevsky Aug 13, 2022
39f60c0
Merge pull request #4172 from davemarchevsky/davemarchevsky_offwaketi…
davemarchevsky Aug 13, 2022
1a3f8c2
tools/trace: Fix TypeError when format string contains %K or %U
xingfeng2510 Aug 13, 2022
6ebeb45
tools/execsnoop: Add PPID filter support
xingfeng2510 Aug 11, 2022
7a90c7b
Fix bpf_pseudo_fd() type conversion error
yonghong-song Aug 14, 2022
3f5e402
[test][bionic] Force python3 and utf-8 encoding
chantra Aug 14, 2022
86c4b3a
Revert "test_tools_smoke.py: mayFail test_offwaketime"
chantra Aug 14, 2022
b57dbb3
Merge pull request #4174 from chantra/bionic_py_3
davemarchevsky Aug 14, 2022
2efd2c0
GH Actions: Stop publishing to quay.io
davemarchevsky Aug 14, 2022
3e90aa4
Merge pull request #4177 from davemarchevsky/davemarchevsky_no_quay
davemarchevsky Aug 14, 2022
81d683d
[build] Move docker files used for build CI in their own directory
chantra Aug 15, 2022
23da237
[ci] new workflow to publish CI build containers
chantra Aug 15, 2022
dc3f138
[ci] Remove ruby build artifacts from docker images
chantra Aug 15, 2022
88ad9c8
[ci][docker] Change env varibable names so they are not bound to ubuntu
chantra Aug 16, 2022
68f76e7
[ci] Upgrade to ruby-installer 0.8.4 and ruby 3.1.2
chantra Aug 16, 2022
468d4fc
[ci][dcoker] Make Fedora version controlled by env variable
chantra Aug 16, 2022
e2266c6
[ci] Add support for Fedora 36 container
chantra Aug 16, 2022
66e72e4
Merge pull request #4179 from chantra/build_ci_containers
davemarchevsky Aug 16, 2022
623a229
DLPX-81527 Move bcc to python3
sumedhbala-delphix Aug 17, 2022
7aa2829
Merge pull request #11 from sumedhbala-delphix/6.0/stage
sumedhbala-delphix Aug 17, 2022
71e6e5d
fix arithmetic on a pointer to an incomplete type
juchem Aug 11, 2022
05f17a6
tools/trace: Decode bytes to str
xingfeng2510 Aug 14, 2022
b5cc98a
tools/trace: Remove explicit ctype cast
xingfeng2510 Aug 14, 2022
3fa02d4
[scripts] Update git-clang-format
chantra Aug 16, 2022
fd92eae
tools/memleak: fix print_outstanding_combined func, exception has occ…
yezhengmao1 Jul 25, 2022
99146aa
Add cmake TARGET: uninstall
Rtoax Aug 17, 2022
e49507f
[ci] make build CI use docker images from this repo registry
chantra Aug 15, 2022
272c89f
Merge pull request #4080 from chentao-kernel/master
davemarchevsky Aug 24, 2022
382a332
Merge pull request #4184 from Rtoax/patch-23-make-uninstall
davemarchevsky Aug 24, 2022
ac43959
Fix a llvm signed division error for compactsnoop tool
yonghong-song Aug 26, 2022
1c5693c
Fix some documentation issues (#4197)
jeromemarchand Aug 28, 2022
8ed0a15
update python developer tutorial (#4194)
lzh2nix Aug 28, 2022
76fb1e2
libbpf-tools: Update bpftool submodule
chenhengqi Aug 29, 2022
552d64e
Merge pull request #4202 from chenhengqi/update-bpftool
davemarchevsky Aug 30, 2022
5360496
[python][test] change traced syscall from clone to execve
chantra Aug 29, 2022
e56fdf8
[test][python] temptatively attach to blk_start_request probe.
chantra Aug 29, 2022
7f07581
[biosnoop] Revert #4124
chantra Aug 31, 2022
f2dcfc3
Merge pull request #4204 from chantra/test_percpu_fix_f36
davemarchevsky Aug 31, 2022
5bfe444
Merge pull request #4207 from chantra/test_fix_trace3
davemarchevsky Aug 31, 2022
187baf1
Merge pull request #4180 from chantra/use_ci_containers
davemarchevsky Aug 31, 2022
d060934
Show the stacktrace of the userspace in opensnoop.
Aug 16, 2022
aa1f7cb
extract kheaders to $TMPDIR directory
michalgr Sep 2, 2022
dcd8a9a
Use /sys/kernel/tracing when debugfs is not available (#4216)
michalgr Sep 6, 2022
4aa1b65
[ci] Install netperf and iperf
chantra Sep 1, 2022
0326c76
[actions] Trigger publish-build-containers workflow on PR without pus…
chantra Sep 1, 2022
efee317
[ci] Enable running CI on Fedora 36
chantra Aug 31, 2022
3438ec3
[test][python] Clear deprecation warnings
chantra Aug 29, 2022
c110a4d
tools/opensnoop: Allow to show full path for an open file with relati…
xingfeng2510 Aug 22, 2022
23f16da
libbpf-tools/klockstat: print the lock info for max acq/hold times
bobrik Aug 17, 2022
857cf50
libbpf-tools/klockstat: accept lock addr as well as lock name
bobrik Aug 17, 2022
5acd0b5
Merge pull request #4186 from ThinkerYzu1/blazesym_use
davemarchevsky Sep 6, 2022
a643556
tools/opensnoop: Allow to set size of the perf ring buffer (#4219)
xingfeng2510 Sep 7, 2022
3712051
Revert libbpf submodule to latest intentional change
davemarchevsky Sep 7, 2022
5f44839
Merge pull request #4224 from davemarchevsky/davemarchevsky_submodule…
davemarchevsky Sep 7, 2022
b7ea45d
Check whether cargo exists and disable the blazesym feature. (#4227)
Rtoax Sep 8, 2022
6129eef
libbpf-tools: Allow runq tools to run on old kernels
chenhengqi Sep 6, 2022
83cf8b1
[actions] Refactor building and pushing docker containers
chantra Sep 6, 2022
75e5e26
[actions] Build docker container when Dockerfile are modified
chantra Sep 6, 2022
0393eba
[docker] Fix tabs in Dockerfile.fedora
chantra Sep 6, 2022
c30c418
Merge pull request #4221 from chantra/conditionally_rebuild
davemarchevsky Sep 9, 2022
a92c2bd
Fix libbpf-tools/sigsnoop segment fault (#4228)
Rtoax Sep 9, 2022
ad4c8e3
libbpf-tools: convert wakeuptime tool
sterchelen Jul 23, 2022
442f420
[testing] add skipUnlessHasBinaries decorator
chantra Sep 1, 2022
bfc8252
[test][test_brb] Gate the test behind the new skipUnlessHasBinaries d…
chantra Sep 1, 2022
dfb0d98
libbpf-tools/klockstat: Fallback to kprobe if fentry is not available
chenhengqi Sep 9, 2022
3830425
Added bounded loop into the main bpf features list
yzhao1012 Sep 14, 2022
79bf978
libbpf-tools: Add tcptop tool.
eiffel-fl Mar 3, 2022
581476d
libbpf-tools: Add tcpstates
chenhengqi Dec 18, 2021
4f8454c
Fix the uid not defined issue
wenlxie Sep 19, 2022
ca5fd8e
libbpf-tools: Add biotop tool.
eiffel-fl Mar 3, 2022
8a35ac0
Fix padding field not initialized issue
ruicao93 Sep 19, 2022
1a89e0c
Missing a newline('\n')
Rtoax Sep 21, 2022
907b89c
bcc: Bump CMake minimum version to 2.8.12
chenhengqi Sep 30, 2022
f90126b
tools/biosnoop: Fix a typo
xingfeng2510 Sep 29, 2022
c2b9f6e
libbpf-tools: Allow hardirqs to run on old kernels
chenhengqi Sep 13, 2022
e85bd8f
libbpf-tools: Allow softirqs to run on old kernels
chenhengqi Sep 13, 2022
a8a0103
NULL check CallExpr.getCalleeDecl()
shunghsiyu Sep 13, 2022
fe8acc4
Edit WSL2 install instructions
Sep 21, 2022
465f292
tools/biopattern: improve the output of biopattern
xingfeng2510 Sep 30, 2022
536155a
libbpf-tools: Fix klockstat to finish with -R
namhyung Oct 5, 2022
12e5312
Fix ProcStat::is_stale for gone PIDs
lenticularis39 Oct 3, 2022
cc44177
Use absolute module file path when possible
lenticularis39 Oct 3, 2022
d5b6d24
tools: killsnoop: support target PID filter
pizhenwei Sep 27, 2022
8c6f846
tools: killsnoop: auto detect the length of PID/TPID column
pizhenwei Oct 8, 2022
40306f1
Sync with latest libbpf repo
yonghong-song Oct 8, 2022
15fccdb
fix undefined reference reallocarray
maliubiao Sep 16, 2022
2a35249
Revert "Use absolute module file path when possible"
chenhengqi Oct 11, 2022
f3fd665
libbpf-tools: Add feature probe for BPF ring buffer
chenhengqi Oct 2, 2022
7f394c6
libbpf-tools: Add support for bpf_ringbuf
chenhengqi Oct 2, 2022
8cd34c3
libbpf-tools: Introduce BPF ring buffer to mountsnoop
chenhengqi Oct 2, 2022
b26bf81
build: harden bcc-test.yml permissions
sashashura Sep 25, 2022
f8f41fa
build: harden publish.yml permissions
sashashura Sep 25, 2022
304692d
build: harden publish-build-containers.yml permissions
sashashura Sep 25, 2022
c83933d
tools/vfsstat: Add PID filter support
xingfeng2510 Oct 12, 2022
1fa246d
libbpf-tools: Enable biolatency on kernels without BPF trampoline
chenhengqi Oct 10, 2022
95566c9
tools/runqslower: fix '-P'&'-p PID' conflict
pizhenwei Oct 13, 2022
981a947
tools/biosnoop: Add support for displaying block I/O pattern
xingfeng2510 Oct 14, 2022
e4bb4f3
bcc: support building with external libbpf package and older uapi lin…
alan-maguire Oct 14, 2022
2057146
bcc: and generated compat/linux/bpf.h to .gitignore
alan-maguire Oct 14, 2022
05ea841
runqslower: create sufficiently large array table to avoid missing tasks
Oct 18, 2022
62a8d1d
add bpf_ringbuf support to oomkill example
krisztianfekete Oct 15, 2022
0a601b8
move timeout to compat header from mountsnoop.c
krisztianfekete Oct 20, 2022
e2eb15e
bcc/python: remove additional space
yangxingwu Oct 24, 2022
b96a6db
make warnings consistent by switching to fprintf everywhere
krisztianfekete Oct 25, 2022
1ad8f4b
Fix file names being empty (#4293)
nurdann Oct 27, 2022
6a5c573
libbpf-tools/offcputime: Add dso info and symbol offset to backtrace …
ekyooo Oct 21, 2022
7e4635b
libbpf-tools/gethostlatency: Extract libc.so path from /proc/self/maps
chenhengqi Oct 18, 2022
11ff46d
libbpf-tools: Use bpf_probe_read_kernel{,_str} instead
chenhengqi Oct 18, 2022
f561067
libbpf-tools/opensnoop: Disable BPF program if tracepoint not exists
chenhengqi Oct 19, 2022
54a02ce
libbpf-tools/statsnoop: Trace all stat syscall variants
chenhengqi Oct 19, 2022
8b5b0bb
Fix a llvm16 compilation error
yonghong-song Oct 27, 2022
dcb34dc
Fix clang 15 int to pointer conversion errors
jeromemarchand Oct 26, 2022
822e9a8
libbpf-tools/tcplife: fix filter by ports
mozillazg Oct 30, 2022
8c02729
Allow libdebuginfod to be excluded even if present
Oct 31, 2022
917b97b
tools: Introducing ppchcalls.py for hcall count/latency stats.
Sep 29, 2022
aee989c
libbpf: Allow kernel_struct_has_field to reach field in unnamed struc…
jeromemarchand May 19, 2022
d661f8a
Add missing examples files (#4312)
Gsantomaggio Nov 3, 2022
ab19641
wakeuptime: remove unused global var `exiting`
woodpenker Nov 6, 2022
a3cf2b6
offcputime: remove unused global var `exiting`
woodpenker Nov 6, 2022
a0d649e
Add absraction hiding source of elf files
michalgr Sep 24, 2022
75fe69e
Make find_debug_file return debug sos via elf_file
michalgr Sep 25, 2022
7eef39c
Support mini debug info files.
michalgr Sep 25, 2022
7a0735d
install xz and liblzma in Dockerfile.ubuntu
michalgr Sep 25, 2022
65e9ef7
tests for all kinds of debuginfo lookups
michalgr Sep 27, 2022
c5e8fb9
call elf_end in bcc_elf_foreach_vdso_sym
michalgr Nov 7, 2022
697fd03
Delete unused variable
duongmn89 Nov 9, 2022
3eb3875
Merge pull request #4250 from michalgr/mini_debuginfo
davemarchevsky Nov 9, 2022
4f2fbee
Update INSTALL.md
alvin-7 Nov 11, 2022
941b574
Sync with latest libbpf repo
yonghong-song Nov 13, 2022
298cc9e
docs/kernel-versions.md: Replace korg links with GitHub links
chenhengqi Nov 12, 2022
998a632
docs/tutorial.md: fix typo
144026 Nov 15, 2022
9e118d6
libbpf-tools/cpufreq: Fix the initialization of freqs_mhz
bjzhjing Nov 15, 2022
9978795
libbpf-tools/cpufreq: Rename init_freqs_hmz as init_freqs_mhz
bjzhjing Nov 15, 2022
1619eff
libbpf-tools: Don't print CPU frequency if count is zero
bjzhjing Nov 15, 2022
14c5f99
libbpf-tools: update arm vmlinux with missing perf_event, BPF_PROG_TY…
natoscott Nov 18, 2022
9154166
tools: add filegone to trace why file gone (#4333)
curu Nov 18, 2022
f6bdaba
Improve ProcSyms module path handling
lenticularis39 Oct 3, 2022
099965f
libbpf-tools: use BPF_KPROBE/BPF_KRETPROBE in gethostlatency/ksnoop. …
woodpenker Nov 21, 2022
009b9fc
libbpf-tools: fix biosnoop exit code
captain5050 Nov 21, 2022
1025b8c
libbpf-tools: update ppc vmlinux.h with missing bpf_perf_link, BPF_LI…
natoscott Nov 22, 2022
eaadc0f
support tracepoint for tcp_set_ca_state
jackygam2001 Nov 11, 2022
ff28fbb
offcputime: fix no comm&delta output if missed user stack
woodpenker Nov 12, 2022
957569f
libbpf-tools/cpudist: Allow cpudist to run on old kernels
woodpenker Nov 13, 2022
daf35cd
Fix a llvm compilation error
yonghong-song Nov 27, 2022
ebb47d5
tools/filegone: Check btf struct field instead of KERNEL_VERSION macro
Rtoax Nov 19, 2022
921b736
tools: filelife: Check btf struct field for CO-RE and add vfs_open()
Rtoax Nov 13, 2022
a858abf
delete 1 line redundant code for WSL2.
log2cn Nov 27, 2022
d49d9aa
Print slow commit operations in nfsslower
kosuke-tatsu Nov 29, 2022
2b4d437
libbpf-tools: fsdist,fsslower: Fix redefinition of enumerator 'OPEN'
Rtoax Dec 1, 2022
d002b11
libbpf-tools/ksnoop: remove always 'true' statement
Rtoax Dec 1, 2022
6482501
docs: add installation method for Debian - Binary (#4378)
Dentrax Dec 5, 2022
4fe6a6a
tools/ttysnoop: Fix wrong KERNEL_VERSION (#4366)
michael-chuh Dec 5, 2022
8634441
tools/runqslower: replace invalid delete operation by zero update
curu Dec 1, 2022
e44ece0
Merge pull request #4319 from lenticularis39/procsym-exe-absolute-path
davemarchevsky Dec 8, 2022
c743fcb
tools/statsnoop: Add some stat() variants (#4367)
xingfeng2510 Dec 10, 2022
3886b17
libbpf-tools/solisten: modify port type (#4386)
CSWYF3634076 Dec 10, 2022
88b5edb
clang/b_frontend_action: fix arch_syscall_wrapper (#4390)
sumanthkorikkar Dec 10, 2022
24822c2
tools/memleak: Remove deleted trace points (kernels >=6.1)
shayshyi Dec 12, 2022
691ed59
tools/ttysnoop: Fix kfunc Unknown error
Rtoax Dec 13, 2022
f08e686
Support libbpf-tools based capable tool
chethanah Dec 13, 2022
a0fe2bc
Sync with latest libbpf repo
yonghong-song Dec 14, 2022
4ba8055
tools/syscount: add --ppid option
curu Dec 16, 2022
9fb71e0
libbpf-tools: filelife: Check btf struct field for CO-RE and add vfs_…
Rtoax Nov 13, 2022
a7f2ac1
libbpf-tools: fix uprobe helper possible overflow
yunwei37 Dec 16, 2022
5041800
Update debian changelog for release v0.26.0
yonghong-song Dec 17, 2022
4d9834c
bcc.spec: Only python2 need python2-devel (#4400)
Rtoax Dec 31, 2022
3073b43
libbpf-tools: Enable mdflush on kernels without fentry support
chenhengqi Dec 26, 2022
23bd97a
libbpf-tools: Enable drsnoop on kernels without BPF trampoline
chenhengqi Dec 26, 2022
dff24c3
libbpf-tools: Detect kernel/modules BTF using libbpf APIs
chenhengqi Nov 4, 2022
e51c49e
libbpf-tools: Remove use of reallocarray
chenhengqi Nov 5, 2022
4d3e1c9
libbpf-tools: Fix tracepoint existence check in statsnoop
chenhengqi Jan 1, 2023
ec8a4f7
tools/ttysnoop: add ringbuf
michael-chuh Nov 30, 2022
995e481
tools/tcpsynbl.py: several small improvements of coding style (#4415)
yangxingwu Jan 4, 2023
2a6a9bb
libbpf-tools/runqlen: Add runq lenth of host's rq
suiya001 Jan 4, 2023
1a5cd88
update WSL2 install instruction (#4423)
yifeifang Jan 7, 2023
77c59c3
docs: Fix GPL flag for BPF_FUNC_ktime_get*_ns (#4421)
mscastanho Jan 7, 2023
2b203ea
Fix get_kprobe_functions
jeromemarchand Jan 9, 2023
5cdbc39
killsnoop: add missing -s and -T options to the synopsis
jeromemarchand Jan 11, 2023
5d75ee6
Merge pull request #4431 from jeromemarchand/killsnoop-synopsis
davemarchevsky Jan 12, 2023
a934191
docs: Fix kernel version for BPF_FUNC_ktime_get_boot_ns()
mauriciovasquezbernal Dec 20, 2022
275aa3f
docs: Update links to use Github
mauriciovasquezbernal Jan 12, 2023
79b80cc
fix the Makefile of libbpf-tools, make it support cross compile (#4429)
LinuxVWQH Jan 18, 2023
8f8e9a2
bcc: Fix multi-word array type handling (#4412)
amorenoz Jan 18, 2023
02e5507
libbpf-tools/softirqs: Add event counts report
suiya001 Jan 6, 2023
3423048
tools/ttysnoop: Add ITER_UBUF support
Rtoax Jan 7, 2023
c9ae08a
docs/kernel_config.md: kernel configs required for eBPF
chethanah Jan 20, 2023
99726b9
Truncate long uprobe names and append its hash for differentiation (#…
chengruizhe Jan 21, 2023
3f84544
docs/kernel_config.md: add the config for kprobe multi (#4448)
KentaTada Feb 3, 2023
39b62cb
tools/ttysnoop: Fix uninitialized 'buf' error
Rtoax Jan 29, 2023
4ebb68d
libbpf-tools/wakeuptime: Fix the type of the value
suiya001 Jan 30, 2023
30e2b9b
libbpf-tools/cachestat: Fix failed to attach: ERROR: strerror_r(-524)=22
Rtoax Jan 30, 2023
afe977e
tools/nfsslower: fix on v3-only systems
dkobras Jan 24, 2023
7d8dbcb
tools/readahead: Fix: Failed to attach BPF program entry__do_page_cac…
Rtoax Jan 30, 2023
2d52361
libbpf-tools/numamove: Fix failed to attach: ERROR: strerror_r(-524)=22
Rtoax Jan 30, 2023
a3ad36d
tools/slabratetop: Fix error: incomplete definition of type 'struct s…
Rtoax Jan 22, 2023
f279656
Fix for incomplete static libraries.
bjandras Jan 12, 2023
cbec3b6
Use explicit type conversion for void * to u64.
Y7n05h Feb 9, 2023
c929d1c
tools/compactsnoop.py: Fix raw_tracepoint Invalid argument error
Rtoax Feb 10, 2023
47502c2
tools/nfsslower.py: Fix uninitialized struct pad error
Rtoax Feb 10, 2023
caa1d11
Implement basic zip archive parsing.
michalgr May 22, 2022
bef3d74
Support address lookup for zipped libs.
michalgr May 27, 2022
7546bb5
Recognize zipped libraries when parsing maps.
michalgr Jun 2, 2022
38eb26d
Make bpf_attach_uprobe recognize zipped libraries.
michalgr Jun 2, 2022
739c0be
Install zip in test environment
michalgr Jun 2, 2022
40d3688
Merge pull request #4440 from michalgr/add_zip_support2
davemarchevsky Feb 19, 2023
9b5af1b
examples/networking: add tcp_mon_block (#4459)
agentzex Feb 20, 2023
a894979
tools: Fix filelife for kernels without CONFIG_SECURITY
chenhengqi Feb 18, 2023
1ea0390
tests/cc: Use c++14 standard
kraj Mar 6, 2023
09d5785
Merge remote-tracking branch 'upstream/master' into 6.0/stage
Mar 13, 2023
1b46897
fixup: add zip
Mar 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Dockerfile*
build
.*.swp
docker/Dockerfile*
47 changes: 47 additions & 0 deletions .github/actions/build-container/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "Build/Push container"
description: "Build a BCC CI container and push it when not a pull-request."

inputs:
os_distro:
description: "OS Disctribution. Ex: ubuntu"
required: true
os_version:
description: "Version of the OS. Ex: 20.04"
required: true
os_nick:
description: "Nickname of the OS. Ex: focal"
required: true
registry:
description: "Registry where to push images"
default: ghcr.io
password:
description: "Password used to log into the docker registry."
push:
description: "Whether or not to push the build image"
type: boolean
default: false

runs:
using: "composite"
steps:
# Login against registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ inputs.registry }}
if: ${{ inputs.push == 'true' && github.event_name != 'pull_request' }}

uses: docker/login-action@v2
with:
registry: ${{ inputs.registry }}
username: ${{ github.actor }}
password: ${{ inputs.password }}

- name: Build and push
uses: docker/build-push-action@v3
with:
push: ${{ inputs.push == 'true' && github.event_name != 'pull_request' }}
build-args: |
VERSION=${{ inputs.os_version }}
SHORTNAME=${{ inputs.os_nick }}
file: docker/build/Dockerfile.${{ inputs.os_distro }}
tags: ${{ inputs.registry }}/${{ github.repository }}:${{ inputs.os_distro }}-${{ inputs.os_version }}

54 changes: 54 additions & 0 deletions .github/disabled-workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Publish Build Artifacts

on:
push:
branches:
- master
pull_request:

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
# Optionally publish container images to custom docker repository,
# guarded by presence of all required github secrets.
# GitHub secrets can be configured as follows:
# - DOCKER_IMAGE = docker.io/myorg/bcc
# - DOCKER_USERNAME = username
# - DOCKER_PASSWORD = password
publish_dockerhub:
name: Publish To Dockerhub
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v1

- name: Initialize workflow variables
id: vars
shell: bash
run: |
if [ -n "${DOCKER_IMAGE}" ] && \
[ -n "${DOCKER_USERNAME}" ] && \
[ -n "${DOCKER_PASSWORD}" ];then
echo "Custom docker credentials set, will push an image"
echo ::set-output name=DOCKER_PUBLISH::true
else
echo "Custom docker credentials not, skipping"
fi
env:
DOCKER_IMAGE: ${{ secrets.DOCKER_IMAGE }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

- name: Build container image and publish to registry
id: publish-registry
uses: elgohr/Publish-Docker-Github-Action@2.8
if: ${{ steps.vars.outputs.DOCKER_PUBLISH }}
with:
name: ${{ secrets.DOCKER_IMAGE }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
workdir: .
dockerfile: Dockerfile.ubuntu
snapshot: true
cache: ${{ github.event_name != 'schedule' }}
241 changes: 241 additions & 0 deletions .github/workflows/bcc-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
name: BCC Build and tests

on:
push:
branches:
- master
pull_request:

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}

permissions:
contents: read # to fetch code (actions/checkout)
pull-requests: read # to read pull requests (dorny/paths-filter)

jobs:
test_bcc:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [{distro: "ubuntu", version: "18.04", nick: bionic}, {distro: "ubuntu", version: "20.04", nick: focal}]
env:
- TYPE: Debug
PYTHON_TEST_LOGFILE: critical.log
RW_ENGINE_ENABLED: ON
- TYPE: Debug
PYTHON_TEST_LOGFILE: critical.log
RW_ENGINE_ENABLED: OFF
- TYPE: Release
PYTHON_TEST_LOGFILE: critical.log
RW_ENGINE_ENABLED: ON
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
docker:
- 'docker/build/**'
- name: System info
run: |
uname -a
ip addr
- name: Pull docker container
if: steps.changes.outputs.docker == 'false'
run: |
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }}
- name: Build docker container
if: steps.changes.outputs.docker == 'true'
uses: ./.github/actions/build-container
with:
os_distro: ${{ matrix.os.distro }}
os_version: ${{ matrix.os.version }}
os_nick: ${{ matrix.os.nick }}
- name: Tag docker container
run: |
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }} bcc-docker
- name: Run bcc build
env: ${{ matrix.env }}
run: |
/bin/bash -c \
"docker run --privileged \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /usr/include/linux:/usr/include/linux:ro \
bcc-docker \
/bin/bash -c \
'mkdir -p /bcc/build && cd /bcc/build && \
cmake -DCMAKE_BUILD_TYPE=${TYPE} -DENABLE_LLVM_NATIVECODEGEN=${RW_ENGINE_ENABLED} .. && make -j9'"
- name: Run bcc's cc tests
env: ${{ matrix.env }}
# tests are wrapped with `script` as a hack to get a TTY as github actions doesn't provide this
# see https://github.com/actions/runner/issues/241
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'/bcc/build/tests/wrapper.sh \
c_test_all sudo /bcc/build/tests/cc/test_libbcc'"

- name: Run all tests
env: ${{ matrix.env }}
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'cd /bcc/build && \
make test PYTHON_TEST_LOGFILE=$PYTHON_TEST_LOGFILE ARGS=-V'"

- name: Check critical tests
env: ${{ matrix.env }}
run: |
critical_count=$(grep @mayFail tests/python/critical.log | wc -l)
echo "There were $critical_count critical tests skipped with @mayFail:"
grep -A2 @mayFail tests/python/critical.log

- uses: actions/upload-artifact@v1
with:
name: critical-tests-${{ matrix.env['TYPE'] }}-${{ matrix.os.version }}
path: tests/python/critical.log

test_bcc_fedora:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [{distro: "fedora", version: "34", nick: "f34"}, {distro: "fedora", version: "36", nick: "f36"}]
env:
- TYPE: Debug
PYTHON_TEST_LOGFILE: critical.log
- TYPE: Release
PYTHON_TEST_LOGFILE: critical.log
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
docker:
- 'docker/build/**'
- name: System info
run: |
uname -a
ip addr
- name: Pull docker container
if: steps.changes.outputs.docker == 'false'
run: |
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }}
- name: Build docker container
if: steps.changes.outputs.docker == 'true'
uses: ./.github/actions/build-container
with:
os_distro: ${{ matrix.os.distro }}
os_version: ${{ matrix.os.version }}
os_nick: ${{ matrix.os.nick }}
- name: Tag docker container
run: |
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }} bcc-docker
- name: Run bcc build
env: ${{ matrix.env }}
run: |
/bin/bash -c \
"docker run --privileged \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /usr/include/linux:/usr/include/linux:ro \
bcc-docker \
/bin/bash -c \
'mkdir -p /bcc/build && cd /bcc/build && \
cmake -DCMAKE_BUILD_TYPE=${TYPE} -DENABLE_LLVM_SHARED=ON -DRUN_LUA_TESTS=OFF .. && make -j9'"
- name: Run libbpf-tools build
env: ${{ matrix.env }}
run: |
/bin/bash -c \
"docker run --privileged \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /usr/include/linux:/usr/include/linux:ro \
bcc-docker \
/bin/bash -c \
'cd /bcc/libbpf-tools && make -j9'"

- name: Run bcc's cc tests
env: ${{ matrix.env }}
# tests are wrapped with `script` as a hack to get a TTY as github actions doesn't provide this
# see https://github.com/actions/runner/issues/241
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'/bcc/build/tests/wrapper.sh \
c_test_all sudo /bcc/build/tests/cc/test_libbcc'"

- name: Run all tests
env: ${{ matrix.env }}
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'cd /bcc/build && \
make test PYTHON_TEST_LOGFILE=$PYTHON_TEST_LOGFILE ARGS=-V'"

- name: Check critical tests
env: ${{ matrix.env }}
run: |
critical_count=$(grep @mayFail tests/python/critical.log | wc -l)
echo "There were $critical_count critical tests skipped with @mayFail:"
grep -A2 @mayFail tests/python/critical.log


# To debug weird issues, you can add this step to be able to SSH to the test environment
# https://github.com/marketplace/actions/debugging-with-tmate
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v1
44 changes: 44 additions & 0 deletions .github/workflows/publish-build-containers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Publish Build Containers

on:
# We want to update this image regularly and when updating master
schedule:
- cron: '00 18 * * *'
push:
branches:
- master
pull_request:
paths:
- 'docker/build/**'

permissions: {}

jobs:

publish_ghcr:
permissions:
contents: read # to fetch code (actions/checkout)
packages: write # to push container
name: Publish To GitHub Container Registry
runs-on: ubuntu-latest
strategy:
matrix:
os: [
{distro: "ubuntu", version: "18.04", nick: bionic},
{distro: "ubuntu", version: "20.04", nick: focal},
{distro: "fedora", version: "34", nick: "f34"},
{distro: "fedora", version: "36", nick: "f36"}
]

steps:

- uses: actions/checkout@v2

- name: Build and push
uses: ./.github/actions/build-container
with:
os_distro: ${{ matrix.os.distro }}
os_version: ${{ matrix.os.version }}
os_nick: ${{ matrix.os.nick }}
password: ${{ secrets.GITHUB_TOKEN }}
push: true
Loading