From 0565fe3320f60e6dd0e87c59ffc47c74229b53bc Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 18 Nov 2021 20:27:50 +0000 Subject: [PATCH] Charge for sol_log_data translates (#21328) (#21335) (cherry picked from commit 91fe1278f1b5d70b9184ff451af2437a107e3272) Co-authored-by: Jack May --- 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 0bc3e3f5f1..b9aefbb3b1 100644 --- a/programs/bpf_loader/src/syscalls.rs +++ b/programs/bpf_loader/src/syscalls.rs @@ -2721,9 +2721,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 );