featurize rejection of callx r10 instructions (#24309)

This commit is contained in:
Jack May 2022-04-13 11:09:33 -07:00 committed by GitHub
parent 6a474f29cd
commit 2e0bc89ec4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -45,7 +45,7 @@ use {
cap_accounts_data_len, disable_bpf_deprecated_load_instructions,
disable_bpf_unresolved_symbols_at_runtime, disable_deprecated_loader,
do_support_realloc, error_on_syscall_bpf_function_hash_collisions,
reduce_required_deploy_balance, requestable_heap_size,
reduce_required_deploy_balance, reject_callx_r10, requestable_heap_size,
},
instruction::{AccountMeta, InstructionError},
keyed_account::keyed_account_at_index,
@ -146,7 +146,9 @@ pub fn create_executor(
syscall_bpf_function_hash_collision: invoke_context
.feature_set
.is_active(&error_on_syscall_bpf_function_hash_collisions::id()),
reject_callx_r10: false,
reject_callx_r10: invoke_context
.feature_set
.is_active(&reject_callx_r10::id()),
// Warning, do not use `Config::default()` so that configuration here is explicit.
};
let mut create_executor_metrics = executor_metrics::CreateMetrics::default();

View File

@ -335,6 +335,10 @@ pub mod error_on_syscall_bpf_function_hash_collisions {
solana_sdk::declare_id!("8199Q2gMD2kwgfopK5qqVWuDbegLgpuFUFHCcUJQDN8b");
}
pub mod reject_callx_r10 {
solana_sdk::declare_id!("3NKRSwpySNwD3TvP5pHnRmkAQRsdkXWRr1WaQh8p4PWX");
}
lazy_static! {
/// Map of feature identifiers to user-visible description
pub static ref FEATURE_NAMES: HashMap<Pubkey, &'static str> = [
@ -413,6 +417,7 @@ lazy_static! {
(stake_split_uses_rent_sysvar::id(), "stake split instruction uses rent sysvar"),
(add_get_minimum_delegation_instruction_to_stake_program::id(), "add GetMinimumDelegation instruction to stake program"),
(error_on_syscall_bpf_function_hash_collisions::id(), "error on bpf function hash collisions"),
(reject_callx_r10::id(), "Reject bpf callx r10 instructions"),
/*************** ADD NEW FEATURES HERE ***************/
]
.iter()