Nenhuma das bibliotecas de espaço do usuário padrão está disponível no código do kernel. Existem algumas funções no kernel que se comportam de maneira semelhante às funções de espaço do usuário correspondentes, mas você deve sempre verificar se não há diferenças.
Sobre a função mmap
, esta função é apenas uma chamada do sistema para o kernel. Não faz sentido ter uma chamada para o kernel dentro do kernel. Em vez disso, existe a função que implementa mmap
. A menos que você queira mapear a memória anônima, o que seria mais fácil de conseguir com a alocação de memória, você precisa de um descritor de arquivo. Os processos têm descritores de arquivos, os módulos do kernel não.
Em geral, programar um módulo do kernel é diferente da programação do espaço do usuário. Uma boa abordagem seria procurar por módulos do kernel fazendo algo semelhante ao que você pretende e usar isso como ponto de partida.