-
Notifications
You must be signed in to change notification settings - Fork 823
feat: more link inspection support #1896
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
base: main
Are you sure you want to change the base?
Conversation
26a871d to
9b0dcdd
Compare
mmat11
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks mostly good to me, left a few comments; can this be split in multiple commits?
Sure, I'll try. Any ideas on how the commits should be structured? E.g. one focused on uprobe, one focused on tracepoint, ...? |
I guess you could split code generation and the different link types in different commits |
d0b8794 to
5f0a645
Compare
|
Split is done. |
|
@secDre4mer sorry for the delay, I was on vacation; I ran CI and some tests are failing, could you please take a look? |
Don't worry about the delay, I hope your vacation was nice! The CI complains that some generated files are out of date, see here; however, running |
hmm I think you would need to update the script has been added after last time I tried to update kernel types so I am not sure this is the correct thing to do -- /cc @lmb |
5f0a645 to
ab1e2f4
Compare
ab1e2f4 to
fe34173
Compare
|
@mmat11 Thanks for the hints, the solution turned out to be somewhat easier than expected; main was already on 6.16, so I only had to rebase the branch and re-run Now there are some issues with connecting to git.kernel.org, but those look unrelated to the changes I've made. |
|
Re-triggered the tests, seems like we got some legit failures now |
|
I'll take a look. |
cb8c71f to
5bc41fd
Compare
|
@dylandreimerink Do you have any idea why the error with Netfilter / XDP occurs here? I'm a little stumped. |
5bc41fd to
b4d3c9b
Compare
|
@secDre4mer Sorry for letting this languish, would you be able to rebase and resolve conflicts? Can't see the failures you were mentioning. @mmat11 We're a little short on review cycles over here (what's new) so I'd appreciate if could take another look. Thanks! 🙏 |
Signed-off-by: Max Altgelt <[email protected]>
b4d3c9b to
8901588
Compare
|
@ti-mo sure, done. |
8901588 to
f495b64
Compare
I restarted the failing tests and the CI looks ok now, the code lgtm! |
dylandreimerink
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for letting this linger, like Timo mentioned, review cycles have been short. But better late than never.
Overall this looks good, 2 minor points of interest.
Thanks for your work on this.
f495b64 to
d5e58f9
Compare
dylandreimerink
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is in a good state now. Thank!
ti-mo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the long wait, there's too much stuff to review. Haven't made it through the full PR, but I've suggested something that could help with maintainability.
d5e58f9 to
a19ee40
Compare
ti-mo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making the gentypes changes so quickly, they're exactly what I had in mind. Finally managed to get through it all. There are a few changes I'd like to make to the exported API.
Calling OpenExecutable on behalf of a user is a potential surprise, so the fact that those methods depend on the executable being where they were when the link was created needs to be well-documented, and the resulting error needs to be very clear that this is expected when doing cross-namespace stuff.
In one of my comments I've called for removing umi.Symbols(), but I'm not opposed to merging it as long as the UX is good. Thanks!
|
Certainly. I understand your point that the |
a19ee40 to
726999d
Compare
I've mulled it over for a bit, I'd prefer not to keep the convenience methods and go for only Thanks! |
Removed the convenience methods. |
1f8ee6b to
b7a7df7
Compare
ti-mo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks! One of the tests started failing, though.
Signed-off-by: Max Altgelt <[email protected]>
Signed-off-by: Max Altgelt <[email protected]>
The netfilter options / info required / contained protocol family and hook, with little information for the user what values were expected. Add explicit types with constants to clarify what values are supported. Signed-off-by: Max Altgelt <[email protected]>
Signed-off-by: Max Altgelt <[email protected]>
Signed-off-by: Max Altgelt <[email protected]>
Signed-off-by: Max Altgelt <[email protected]>
Signed-off-by: Max Altgelt <[email protected]>
b7a7df7 to
4a02b9c
Compare
Thanks, I removed one "is ok" check in the test and that caused older kernels to fail. Added an explicit skip on kernels <6.6 with a comment. |
Add support for more link inspection types, e.g. to query a uprobe's symbol.