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

Solana BPF v3 #29863

Open
6 tasks
Tracked by #28755
Lichtso opened this issue Jan 24, 2023 · 1 comment
Open
6 tasks
Tracked by #28755

Solana BPF v3 #29863

Lichtso opened this issue Jan 24, 2023 · 1 comment
Assignees
Labels
runtime Issues related to runtime, BPF, and LLVM

Comments

@Lichtso
Copy link
Contributor

Lichtso commented Jan 24, 2023

  • Specification
    • Add BTF features:
      • Rust trait type
      • Target type of transmutation / reinterpretation instructions
    • Remove BTF features:
      • Volatile
      • Floats
  • Toolchain
    • ELF DT_NEEDED entries for defining on-chain addresses of dependencies
    • cargo (dependencies)
    • rustc (attribute)
    • LLVM: Lift C type restriction, inject runtime code for lifetime tracking
    • Emit canonical bounds checks of dynamic array sub-slicing
  • Loader
    • Reject cyclic dependencies when deploying a program
    • Enforce redeployment maintains existing interfaces (function signatures and types)
    • [Optional] Support type migration
  • ELF BTF section parser
  • Type inference
    • Track types of registers
    • Track types of stack slots
  • Verifier
    • Verify canonical bounds checks of dynamic array sub-slicing exist
    • Reject ptr transmutation / reinterpretation
    • Forbid ptr introspection or order based comparison, only allow equality test (check for aliasing)
    • Prevent pointers becoming unaligned
@Lichtso Lichtso added the runtime Issues related to runtime, BPF, and LLVM label Jan 24, 2023
@Lichtso Lichtso changed the title Generate and Verify BTF Solana BPF v3 Aug 7, 2023
@Lichtso Lichtso assigned ksolana and unassigned alessandrod Nov 7, 2023
@ksolana
Copy link
Contributor

ksolana commented Nov 17, 2023

For reference: the current work on btf parser and btf verifier is in https://github.com/ksolana/rbpf.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
runtime Issues related to runtime, BPF, and LLVM
Projects
Status: No status
Development

No branches or pull requests

3 participants