v2.0: Runtime: Core BPF Migration: Add checks for executable program account (backport of #2483) #2516
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When the Core BPF migration module was being added to the runtime, the
executable
flag for accounts was being deprecated, so checks for this flag were not added to the mechanisms for migrating and upgrading Core BPF programs. See #309.These changes were reverted, and the Core BPF migration code must be aware of the
executable
flag on accounts.Additionally, even though the program can still be invoked via instruction, the program account must be set as
executable
when performing a migration, to ensure allexecutable
flag checks are successful on the new program.Summary of Changes
Two small changes:
executable
when loading an existing Core BPF program in preparation for an upgrade.executable: true
when performing a migration from builtin to BPF.This is an automatic backport of pull request Runtime: Core BPF Migration: Add checks for executable program account #2483 done by Mergify.