Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asphaltt/tailcall-issues
A tool to detect tailcall issues.
https://github.com/asphaltt/tailcall-issues
bpf ebpf tailcall tailcall-issues
Last synced: 1 day ago
JSON representation
A tool to detect tailcall issues.
- Host: GitHub
- URL: https://github.com/asphaltt/tailcall-issues
- Owner: Asphaltt
- License: apache-2.0
- Created: 2024-11-24T13:55:10.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-04T15:26:42.000Z (2 months ago)
- Last Synced: 2024-12-13T17:08:39.388Z (about 2 months ago)
- Topics: bpf, ebpf, tailcall, tailcall-issues
- Language: C
- Homepage:
- Size: 577 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tailcall-issues: A tool to detect tailcall issues
```bash
tailcall issues:ISSUE: invalid tailcallee
COMMIT: 1c123c567fb1 ("bpf: Resolve fext program type when checking map compatibility")
URL: https://github.com/torvalds/linux/commit/1c123c567fb138ebd187480b7fc0610fcb0851f5
PATCH: https://lore.kernel.org/all/[email protected]/
RANGE: v5.6 -> v6.2ISSUE: invalid loading offset of tail_call_cnt for bpf2bpf
COMMIT: ff672c67ee76 ("bpf, x86: Fix tail call count offset calculation on bpf2bpf call")
URL: https://github.com/torvalds/linux/commit/ff672c67ee7635ca1e28fb13729e8ef0d1f08ce5
PATCH: https://lore.kernel.org/bpf/[email protected]/
RANGE: v5.10 -> v5.19ISSUE: tailcall infinite loop caused by trampoline
COMMIT: 2b5dcb31a19a ("bpf, x64: Fix tailcall infinite loop")
URL: https://github.com/torvalds/linux/commit/2b5dcb31a19a2e0acd869b12c9db9b2d696ef544
PATCH: https://lore.kernel.org/bpf/[email protected]/
RANGE: v5.10 -> v6.7ISSUE: tailcall hierarchy
COMMIT: 116e04ba1459 ("bpf, x64: Fix tailcall hierarchy")
URL: https://github.com/torvalds/linux/commit/116e04ba1459fc08f80cf27b8c9f9f188be0fcb2
PATCH: https://lore.kernel.org/bpf/[email protected]/
RANGE: v5.10 -> v6.12ISSUE: panic caused by updating attached freplace prog to prog array
COMMIT: fdad456cbcca ("bpf: Fix updating attached freplace prog in prog_array map")
URL: https://github.com/torvalds/linux/commit/fdad456cbcca739bae1849549c7a999857c56f88
PATCH: https://lore.kernel.org/bpf/[email protected]/
RANGE: v6.2 -> v6.11ISSUE: tailcall infinite loop caused by freplace
COMMIT: d6083f040d5d ("bpf: Prevent tailcall infinite loop caused by freplace")
URL: https://github.com/torvalds/linux/commit/d6083f040d5d8f8d748462c77e90547097df936e
PATCH: https://lore.kernel.org/bpf/[email protected]/
RANGE: v6.2 -> v6.13
```Detection on Ubuntu 24.04 v6.8 kernel:
```bash
# uname -r
6.8.0-35-generic# ./tailcall-issues
detection results:issue: invalid tailcallee
state: fixedissue: invalid loading offset of tail_call_cnt for bpf2bpf
state: fixedissue: tailcall infinite loop caused by trampoline
state: fixedissue: tailcall hierarchy
state: not fixedissue: panic caused by updating attached freplace prog to prog array
state: cannot detectissue: tailcall infinite loop caused by freplace
state: not fixed
```Detection on Ubuntu 22.04 v5.15 kernel:
```bash
# uname -r
5.15.0-051500-generic# ./tailcall-issues
detection results:issue: invalid tailcallee
state: not fixedissue: invalid loading offset of tail_call_cnt for bpf2bpf
state: not fixedissue: tailcall infinite loop caused by trampoline
state: not fixedissue: tailcall hierarchy
state: not fixedissue: panic caused by updating attached freplace prog to prog array
state: not existsissue: tailcall infinite loop caused by freplace
state: not exists
```## Build
`capstone-engine` library is required to build `tailcall-issues` tool. Install it by:
```bash
# apt install libcapstone-dev
```LLVM and Go are also required to build the tool.
Then, build the tool by:
```bash
# make
```