KVM_READ(3) | Library Functions Manual | KVM_READ(3)

# NAME

`kvm_read`, `kvm_write` — read or write kernel virtual memory

# SYNOPSIS

Kernel Data Access Library (libkvm, -lkvm)
`#include <kvm.h>`

ssize_t
`kvm_read`(kvm_t *kd, u_long addr, void *buf, size_t nbytes);

ssize_t
`kvm_write`(kvm_t *kd, u_long addr, const void *buf, size_t nbytes);

# DESCRIPTION

The `kvm_read`() and `kvm_write`() functions are used to read and write kernel virtual memory (or a crash dump file). See kvm_open(3) for information regarding opening kernel virtual memory and crash dumps.

The `kvm_read`() function transfers nbytes bytes of data from the kernel space address addr to buf. Conversely, `kvm_write`() transfers data from buf to addr. Unlike their SunOS counterparts, these functions cannot be used to read or write process address spaces.

# RETURN VALUES

Upon successful completion, the number of bytes actually transferred is returned. Otherwise, -1 is returned.

# SEE ALSO

kvm(3), kvm_geterr(3), kvm_getprocs(3), kvm_nlist(3), kvm_open(3)

June 6, 2025 | Debian