I'm new to kernels and C, and I am tinkering around trying to understand OpenBSD's secure memory management. I'm stumped on a couple points.
I've read up on malloc() which was apparently modified years ago to allocate memory using mmap. First question, that would be this here, right?
map_pages(size_t pages)
{
struct pdinfo *pi, *spi;
struct pginfo **pd;
u_long pidx,lidx;
void *result, *tail;
u_long index;
pages <<=malloc_pageshift;
result = MMAP(pages + malloc_guard);
For the life of me, I can't track down source code for mmap(). I know that this is a kernel system call, but where is that source? In particular, I'm interested to see how mmap() now returns a randomized location in memory.