Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite in Rust #199

Merged
merged 1 commit into from
May 14, 2022
Merged

Rewrite in Rust #199

merged 1 commit into from
May 14, 2022

Conversation

vadorovsky
Copy link
Member

@vadorovsky vadorovsky commented May 3, 2022

Finally, we are getting rid of C and libbpf here. This PR replaces
all the eBPF programs with Rust programs written in Aya.

The part of this PR is also:

  • fetching recent, relevant changes in aya-template
  • detecting new processes only with tracepoints, the task LSM program
    was removed

The only omitted program is file_open, which is going to be added in a
follow up change.

Fixes: #49
Fixes: #137
Fixes: #138
Signed-off-by: Michal Rostecki [email protected]

@vadorovsky vadorovsky force-pushed the aya-ebpf-3 branch 3 times, most recently from 50e07a9 to 4e7662d Compare May 4, 2022 18:02
@vadorovsky vadorovsky force-pushed the aya-ebpf-3 branch 3 times, most recently from cafb7cc to b135f44 Compare May 13, 2022 20:53
@vadorovsky vadorovsky marked this pull request as ready for review May 14, 2022 00:19
@vadorovsky vadorovsky force-pushed the aya-ebpf-3 branch 4 times, most recently from e76e686 to fd05682 Compare May 14, 2022 21:27
@vadorovsky vadorovsky force-pushed the aya-ebpf-3 branch 2 times, most recently from dc682df to 3c54031 Compare May 14, 2022 22:01
Finally, we are getting rid of C and libbpf here. This PR replaces
all the eBPF programs with Rust programs written in Aya.

The part of this PR is also:

* fetching recent, relevant changes in aya-template
* detecting new processes only with tracepoints, the task LSM program
  was removed

The only omitted program is file_open, which is going to be added in a
follow up change.

Fixes: lockc-project#49
Fixes: lockc-project#137
Fixes: lockc-project#138
Signed-off-by: Michal Rostecki <[email protected]>
@vadorovsky vadorovsky merged commit b4a7e74 into lockc-project:main May 14, 2022
@vadorovsky vadorovsky deleted the aya-ebpf-3 branch May 14, 2022 22:42
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 15, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to vadorovsky/lockc that referenced this pull request May 16, 2022
After lockc-project#199 we don't have to use libbpf anymore. Since building stuff
with Rust locally is easy (and only rustup is required), it's also time
to get rid of dapper.

Signed-off-by: Michal Rostecki <[email protected]>
vadorovsky added a commit to lockc-project/lockc-project.github.io that referenced this pull request May 16, 2022
After merging lockc-project/lockc#199 we no longer depend on llvm,
libbpf and any C-related technology, cargo and rust are enough. Because
of that simplification, it's also time to remove dapper.

Signed-off-by: Michal Rostecki <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[aya] Rewrite sb_mount in Rust [aya] Rewrite syslog_audit in Rust [EPIC] Migrate from libbpf-rs to aya-rs
1 participant