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

chore: call bpf_program__attach_iter from go #304

Merged
merged 1 commit into from
Mar 23, 2023

Conversation

geyslan
Copy link
Member

@geyslan geyslan commented Mar 23, 2023

This changes libbpfgo to call bpf_program__attach_iter directly from go instead of doing this via a C wrapper. What this means is that we maintained opts creation in C, but the actual libbpf attach call is done in go.

This creates two new functions in libbpfgo.h as helpers:

  • bpf_iter_attach_opts_new()
  • bpf_iter_attach_opts_free()

This changes libbpfgo to call bpf_program__attach_iter directly from
go instead of doing this via a C wrapper. What this means is that
we maintained opts creation in C, but the actual libbpf attach call is
done in go.

This creates two new functions in libbpfgo.h as helpers:
- bpf_iter_attach_opts_new()
- bpf_iter_attach_opts_free()
@geyslan geyslan added the chore label Mar 23, 2023
@geyslan geyslan requested a review from rafaeldtinoco March 23, 2023 18:37
@geyslan geyslan self-assigned this Mar 23, 2023
@geyslan
Copy link
Member Author

geyslan commented Mar 23, 2023

As questioned in #254 (comment).

Copy link
Contributor

@rafaeldtinoco rafaeldtinoco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for that @geyslan. My OCD sent compliments!

@geyslan
Copy link
Member Author

geyslan commented Mar 23, 2023

Thanks for that @geyslan. My OCD sent compliments!

@geyslan geyslan merged commit 5af8a62 into aquasecurity:main Mar 23, 2023
@geyslan geyslan deleted the chore-iter-attach branch April 1, 2023 00:00
geyslan added a commit to geyslan/libbpfgo that referenced this pull request Apr 3, 2023
This changes libbpfgo to call bpf_object__open_mem directly from go
instead of doing this via a C wrapper. What this means is that we
maintained opts creation in C, but the actual libbpf object open call
is done in go.

This creates two new functions in libbpfgo.h as helpers:
- bpf_object_open_opts_new()
- bpf_object_open_opts_free()

Context: aquasecurity#304

Additionally, this commit enforces the use of defer and resolves a
potential CKconfigPath leak when len(args.KConfigFilePath) is > 2.
geyslan added a commit to geyslan/libbpfgo that referenced this pull request Apr 3, 2023
This changes libbpfgo to call bpf_object__open_mem directly from go
instead of doing this via a C wrapper. What this means is that we
maintained opts creation in C, but the actual libbpf object open call
is done in go.

This creates two new functions in libbpfgo.h as helpers:
- bpf_object_open_opts_new()
- bpf_object_open_opts_free()

Context: aquasecurity#304

Additionally, this commit enforces the use of defer and resolves a
potential CKconfigPath leak when len(args.KConfigFilePath) is > 2.
rafaeldtinoco pushed a commit that referenced this pull request May 3, 2023
This changes libbpfgo to call bpf_object__open_mem directly from go
instead of doing this via a C wrapper. What this means is that we
maintained opts creation in C, but the actual libbpf object open call
is done in go.

This creates two new functions in libbpfgo.h as helpers:
- bpf_object_open_opts_new()
- bpf_object_open_opts_free()

Context: #304

Additionally, this commit enforces the use of defer and resolves a
potential CKconfigPath leak when len(args.KConfigFilePath) is > 2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants