From 91fe1278f1b5d70b9184ff451af2437a107e3272 Mon Sep 17 00:00:00 2001 From: Jack May Date: Wed, 17 Nov 2021 14:11:57 -0800 Subject: [PATCH] Charge for sol_log_data translates (#21328) --- programs/bpf_loader/src/syscalls.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/programs/bpf_loader/src/syscalls.rs b/programs/bpf_loader/src/syscalls.rs index 0b07a3b0c4..5cad7ee38d 100644 --- a/programs/bpf_loader/src/syscalls.rs +++ b/programs/bpf_loader/src/syscalls.rs @@ -2399,9 +2399,16 @@ impl<'a> SyscallObject for SyscallLogData<'a> { ); question_mark!( - invoke_context - .get_compute_meter() - .consume(untranslated_fields.iter().map(|e| e.len() as u64).sum()), + invoke_context.get_compute_meter().consume( + budget + .syscall_base_cost + .saturating_mul(untranslated_fields.len() as u64) + .saturating_add( + untranslated_fields + .iter() + .fold(0, |total, e| total.saturating_add(e.len() as u64)) + ) + ), result );