Enumerando (todos) os módulos do kernel carregados

2

Observe esta postagem não responde totalmente a minha pergunta.

Eu inspecionei o despejo de memória de uma instalação Debian. Em detalhe, inspecionei o Espaço de Memória do Kernel e inspecionei manualmente os fragmentos de código presentes. Após inspecionar fragmentos de código, encontrei uma quantidade razoável de fragmentos na memória, que na verdade pertencem a um módulo (ou seja, sky2.ko), que NÃO foi listado por lsmod ou outros mecanismos de registro.

Eu tentei entender a funcionalidade dos LKMs e a presença de módulos construídos dentro do próprio kernel. No entanto, depois de verificar todos os recursos, percorrendo todos os logs e tentando entender possíveis dependências, não posso responder quando e onde o LKM é realmente carregado na RAM.

Há uma etapa de carregamento / descarregamento que não considero? Por exemplo. O udev carrega o LKM e descarta-o após várias etapas?

Eu poderia resolver todas as cargas cruzadas (por exemplo, por dependências LKM) com lsmod, o que não parece?

Existe um recurso abrangente, que lista todos os pontos de interrupção de um possível carregamento do LKM?

Expectativa: Para meu entendimento atual, os fragmentos ocorrem por causa do ramdisk inicial (veja este grande respostas ). No entanto, como eu poderia confirmar minha suposição?

    
por lkmssss 10.02.2018 / 11:25

1 resposta

2

lsmod mostrará apenas módulos carregáveis:

# lsmod
Module                  Size  Used by
nls_iso8859_1          16384  0
vfat                   20480  0
fat                    77824  1 vfat
isofs                  45056  0
(...)

O resto você pode obter com a configuração do kernel:

# zless /proc/config.gz

ou

# zgrep "=y" /proc/config.gz

Isso, no entanto, também mostra algumas opções de configuração diferentes de "módulos" compilados (como opções ativadas).

    
por 10.02.2018 / 12:32

Tags