FERRAMENTAS LINUX: As adições de depuração de modo de usuário / pré-carregamento BPF a caminho para o Kernel Linux 5.10

segunda-feira, 24 de agosto de 2020

As adições de depuração de modo de usuário / pré-carregamento BPF a caminho para o Kernel Linux 5.10



Confira !!



O "primeiro usuário real" do driver do modo de usuário BPF está a caminho para o Linux 5.10.

Bater bpf próxima há poucos dias é um trabalho interessante destinado para Linux 5.10. "Este conjunto de patch é o primeiro usuário real do recurso de driver do modo de usuário. O caso de uso geral para driver de modo de usuário é distribuir vmlinux com programas BPF pré-carregados. Nesse caso específico, o driver do modo de usuário preenche a instância bpffs com dois iteradores BPF. Em vários meses, o projeto BPF_LSM precisaria pré-carregar o kernel com seu próprio conjunto de programas BPF e anexá-lo a ganchos LSM em vez de bpffs. Os iteradores BPF e BPF_LSM são instáveis ​​da perspectiva uapi. Eles são baseados em rastreamento e espiam em estruturas de dados de kernel arbitrárias. Pode-se questionar por que um módulo do kernel não pode incorporar programas BPF dentro dele. O motivo é que libbpf é necessário para carregá-los. Primeiro, a libbpf carrega o formato de tipo BPF, depois cria mapas BPF e os preenche. Em seguida, ele realoca seções de código dentro de programas BPF, carrega programas BPF e, finalmente, os anexa aos eventos. Teoricamente, o libbpf pode ser reescrito para funcionar no kernel, mas isso é um empreendimento massivo ... Portanto, a decisão é enviar o vmlinux com drivers de modo de usuário que carregam programas BPF. Assim como os módulos do kernel estendem o vmlinux, os programas BPF são extensões seguras do kernel e alguns deles precisam ser enviados com o vmlinux."

A funcionalidade de pré-carregamento BPF introduzida está na construção de um módulo de kernel com vários programas BPF embutidos fixados na montagem BPF FS que são úteis para depuração e introspecção.

Mais detalhes sobre o trabalho por meio deste envio para o (e) BPF em constante evolução e bastante interessante código.


Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário