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

CI: Update kernel from v6.7 to v6.8 #1452

Merged

Conversation

dylandreimerink
Copy link
Member

@dylandreimerink dylandreimerink commented Apr 26, 2024

This PR updates the kernels we test against in CI to the latest stable kernel, v6.8. However, the feature probe for the extension program type fails on this kernel, so we also include a fix to the probe.

In kernel v6.8, logic was added that restricts valid func info BTF for programs that can be replaced with an BPF_PROG_TYPE_EXT program. Before this change the parameters of the extension program had to be the same as the original program. However, now the verifier asserts that the BTF func info of "main" programs must have exactly 1 parameter of a pointer type to the context struct, even if the code doesn't use the context like in our case.

Fixes: #1451

@lmb
Copy link
Collaborator

lmb commented Apr 26, 2024

Thanks for diagnosing this! Can you add a link to the upstream commit in the commit message? You'll also have to update the kernel versions we test against in CI.

@dylandreimerink dylandreimerink force-pushed the feature/fix-have-program-type-ext-probe-v6.8 branch from c2ce945 to cf2e272 Compare April 26, 2024 13:17
@dylandreimerink dylandreimerink requested a review from a team as a code owner April 26, 2024 13:17
In kernel v6.8, logic was added that restricts valid func info BTF for
programs that can be replaced with an BPF_PROG_TYPE_EXT program.
Before this change the parameters of the extension program had to be
the same as the original program.

Commit torvalds/linux@5eccd2db42d77e357 made
it so the verifier asserts that the BTF func info of "main" programs
must have exactly 1 parameter of a pointer type to the context struct,
even if the code doesn't use the context like in our case.

Signed-off-by: Dylan Reimerink <dylan.reimerink@isovalent.com>
Kernel 6.8 is currently the latest stable kernel release, so test
against it. Also add 6.6 to the test matrix since it is an LTS release.

Signed-off-by: Dylan Reimerink <dylan.reimerink@isovalent.com>
@dylandreimerink dylandreimerink force-pushed the feature/fix-have-program-type-ext-probe-v6.8 branch from cf2e272 to 8d709e6 Compare April 26, 2024 14:04
@dylandreimerink dylandreimerink changed the title features: Fix test TestHaveProgramType/Extension in kernel >=v6.8 CI: Update kernel from v6.7 to v6.8 Apr 26, 2024
Copy link
Contributor

@rgo3 rgo3 left a comment

Choose a reason for hiding this comment

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

Thanks Dylan!

@ti-mo ti-mo merged commit e0470ba into cilium:main Apr 29, 2024
16 checks passed
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.

TestHaveProgramType/Extension fails on kernels >6.7
4 participants