Skip to content

MemInjectBytes

Copies bytes into another space at a fixed address.

Library helper

Implemented in zuzu.h on top of the syscalls; it has no syscall number of its own.

Err MemInjectBytes(Handle kitten_space_handle, VirtAddr va, const void *src, size_t len, MemProt prot);

Creates a temporary memory object of whole pages, copies len bytes in, zero-fills the rest and injects it with MemInjectObj().

Parameters

Name Direction Description
kitten_space_handle in Target space with PERM_CNTL.
va in Page-aligned address in the target space.
src in Bytes to copy.
len in Number of bytes.
prot in Protection of the target mapping.

Returns

ZUZU_OK, or an error from CreateMem(), MemMap() or MemInjectObj().