Manual Page Result
0
Command: ksyms | Section: 4 | Source: OpenBSD | File: ksyms.4
KSYMS(4) FreeBSD Kernel Interfaces Manual KSYMS(4)
NAME
ksyms - kernel symbol table device
SYNOPSIS
pseudo-device ksyms [count]
DESCRIPTION
The /dev/ksyms device masquerades as an OpenBSD native executable with
the symbols from the running kernel as its symbol segment. Use of
/dev/ksyms requires that the boot loader preserve the kernel symbols and
place them at the end of the kernel's address space.
The /dev/ksyms device is used to look up the symbol table name list from
the running kernel. Because it represents the running kernel, it is
guaranteed to always be up to date even if the kernel file has been
changed (or is even non-existent). It is most useful when used in
conjunction with nlist(3) or the kvm(3) routines (note that kvm_open(3)
and kvm_openfiles(3) will try /dev/ksyms automatically if the first
parameter to them is the NULL pointer).
FILES
/dev/ksyms
ERRORS
An open of /dev/ksyms will fail if:
[EPERM] An open was attempted with write permissions.
[ENXIO] No kernel symbols were saved by the boot loader
(usually because they were removed with strip(1)), or
the kernel has been compiled without a "pseudo-device
ksyms" line.
SEE ALSO
kvm(3), nlist(3)
HISTORY
The /dev/ksyms device appeared in OpenBSD 2.4.
BUGS
It is not possible to mmap(2) /dev/ksyms because the boot loader does not
load the symbol table onto a page boundary (so it is not page aligned).
If all the boot loaders were fixed, mmap(2) support would be trivial.
FreeBSD 14.1-RELEASE-p8 March 31, 2022 FreeBSD 14.1-RELEASE-p8