Por que não consigo anexar 'strace' a um processo de kworker?

2

Como raiz, tento anexar strace a um processo kworker em execução, sem sucesso.

      root@rasal# whoami
            root
      root@rasal:/# cat  /proc/sys/kernel/yama/ptrace_scope
            0
      root@rasal:/# ps ax | grep kworker
            1030 ?        S<     0:00 [kworker/u17:0]
      root@rasal:/# strace -fp 1030
            strace: attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
            Could not attach to process.  If your uid matches the uid of the target
            process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
            again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf

O arquivo etc/sysctl.d/10-ptrace.conf simplesmente declara:

A PTRACE scope of "0" is the more permissive mode.

Isso é exatamente o que eu tenho, veja acima. Existe alguma razão pela qual isso deve falhar? Ou isso é um bug?

    
por MariusMatutiae 02.10.2015 / 15:10

1 resposta

2

O "processo" kworker que você mostra é um segmento do kernel e não um processo normal. Não há porção de espaço de usuário para ele e, portanto, não há syscalls. Mesmo que funcionasse, não poderia mostrar nada.

Além de tudo, acho que rastrear segmentos do kernel (sob qualquer cenário imaginário que se possa imaginar) provavelmente congela o sistema.

    
por 02.10.2015 / 15:16