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

Refactor - Assign SBPF versions to SIMDs #602

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Lichtso
Copy link

@Lichtso Lichtso commented Oct 2, 2024

No description provided.

@Lichtso Lichtso force-pushed the refactor/assign_sbpf_versions_to_simds branch from 88e0c85 to b6d8898 Compare October 3, 2024 16:37
@Lichtso Lichtso force-pushed the refactor/assign_sbpf_versions_to_simds branch from b6d8898 to 4b2c3df Compare October 11, 2024 16:42
@Lichtso Lichtso force-pushed the refactor/assign_sbpf_versions_to_simds branch 3 times, most recently from dcf9245 to 785454e Compare November 22, 2024 12:08
@Lichtso Lichtso marked this pull request as ready for review November 22, 2024 12:10
@Lichtso Lichtso force-pushed the refactor/assign_sbpf_versions_to_simds branch from 6f0ba50 to 08bcb37 Compare November 22, 2024 14:33
@Lichtso Lichtso force-pushed the refactor/assign_sbpf_versions_to_simds branch from 08bcb37 to 60a4eed Compare November 22, 2024 14:38
@Lichtso Lichtso force-pushed the refactor/assign_sbpf_versions_to_simds branch from 60a4eed to dbd0844 Compare November 22, 2024 15:06
@@ -402,7 +402,7 @@ impl Verifier for RequisiteVerifier {
ebpf::CALL_REG => { check_callx_register(&insn, insn_ptr, sbpf_version)?; },
ebpf::EXIT if !sbpf_version.static_syscalls() => {},
ebpf::RETURN if sbpf_version.static_syscalls() => {},
ebpf::SYSCALL if sbpf_version.static_syscalls() => {
ebpf::SYSCALL if sbpf_version.stricter_controlflow() => {

Choose a reason for hiding this comment

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

This one is still static syscall isn't it?

@@ -2068,7 +2070,7 @@ mod test {
assert!(matches!(
ElfExecutable::parse_ro_sections(
&config,
&SBPFVersion::V1, // v2 requires optimize_rodata=true
&SBPFVersion::V0, // v2 requires optimize_rodata=true

Choose a reason for hiding this comment

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

Should V3 in the comment now?

- `add64 reg, imm` can use `r11` as destination register

### until v3
- The targets of `call` instructions (which includes `syscall` instructions) is checked at runtime not verification time

Choose a reason for hiding this comment

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

Suggested change
- The targets of `call` instructions (which includes `syscall` instructions) is checked at runtime not verification time
- The targets of `call` instructions (which includes `syscall` instructions) are checked at runtime not verification time


### until v3
- The targets of `call` instructions (which includes `syscall` instructions) is checked at runtime not verification time
- The offset of jump instructions must be limited to the range of the bytecode

Choose a reason for hiding this comment

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

Should this be the range of the function?

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.

2 participants