o que isso significa para um módulo ter uma má aparência?

3

Ao olhar para o syslog (dmesg), recebo vários:

<module name>: module has bad taint, not creating trace events

O que isso significa?

    
por Vince 20.06.2016 / 16:50

1 resposta

4

Este aviso aparece se a função do kernel trace_module_has_bad_taint () retornar true; ou seja, qualquer um dos seguintes sinalizadores de contaminação foram definidos:

  • TAINT_FORCED_MODULE (o carregamento do módulo foi forçado)
  • TAINT_CPU_OUT_OF_SPEC (a CPU está se comportando de uma maneira que pode causar problemas de rastreamento?)
  • TAINT_FORCED_RMMOD (o módulo foi forçado a ser removido)
  • TAINT_MACHINE_CHECK (exceção de verificação de máquina, possivelmente tornando o bloqueio dep não confiável)
  • TAINT_BAD_PAGE (uma página inválida de memória foi detectada)
  • TAINT_USER (o espaço do usuário foi mexido no sistema que pode causar problemas no kernel)
  • TAINT_DIE (o kernel está em fase de morte)
  • TAINT_OVERRIDDEN_ACPI_TABLE (o usuário substituiu as tabelas ACPI padrão)
  • TAINT_WARN (bug do agendador detectado)
  • TAINT_FIRMWARE_WORKAROUND (o firmware do BIOS teve uma solução alternativa para fazer as coisas funcionarem)
  • TAINT_SOFTLOCKUP (o temporizador do watchdog detectou um bloqueio suave)
  • TAINT_LIVEPATCH (o kernel foi atualizado ao vivo)

O aviso ocorre quando um módulo do kernel é carregado e o driver de rastreamento do kernel é notificado disso e detecta um dos motivos de contaminação acima e ignora o apontamento de rastreamento para tentar evitar o travamento do kernel.

Módulos que estão apenas contaminados como drivers de teste, drivers fora da árvore e módulos GPL não assinados são permitidos, todas as outras manchas não são permitidas.

    
por Colin Ian King 20.06.2016 / 17:40