From 29d539751a6df5178cfc880795f293a5f046e3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alessandro=C2=A0Decina?= Date: Sat, 16 Apr 2022 10:12:11 +0000 Subject: [PATCH] ebpf: add fallback memcpy Add simplest possible memcpy that the verifier should never trip on --- bpf/aya-bpf/src/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bpf/aya-bpf/src/lib.rs b/bpf/aya-bpf/src/lib.rs index 6f7a384d8..688708d1d 100644 --- a/bpf/aya-bpf/src/lib.rs +++ b/bpf/aya-bpf/src/lib.rs @@ -43,3 +43,12 @@ pub unsafe extern "C" fn memset(s: *mut u8, c: c_int, n: usize) { *((base + i) as *mut u8) = c as u8; } } + +#[no_mangle] +pub unsafe extern "C" fn memcpy(dest: *mut u8, src: *mut u8, n: usize) { + let dest_base = dest as usize; + let src_base = src as usize; + for i in 0..n { + *((dest_base + i) as *mut u8) = *((src_base + i) as *mut u8); + } +}