System Call Modules

System call modules are simply KLDs that install a system call. In operating systems, a system call, also known as a system service request, is the mechanism an application uses to request service from the operating system's kernel.

Note

In Chapter 2, Chapter 3, and Chapter 6, you'll be writing rootkits that either hack the existing system calls or install new ones. Thus, this section serves as a primer.

There are three items that are unique to each system call module: the system call function, the sysent structure, and the offset value.

The System Call Function

The system call function implements the system call. Its function prototype is defined in the <sys/sysent.h> header as:

 typedef int sy_call_t(struct thread *, void *);  ...

Get Designing BSD Rootkits now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.