eBPF 및 검증된 Linux 커널 모듈

eBPF 및 검증된 Linux 커널 모듈

eBPF는 어떤 면에서 사용자 측 검증 커널 모듈보다 성능이 뛰어납니까?

코드 검증의 가치에 대해서는 의문을 제기하지 않습니다. 두 접근 방식 모두 완전히 정적으로 검증됩니다. 두 방법 모두 일반적으로 권한이 있는 사용자에게만 부여되는 기능이 필요합니다.

그러나 사용자 공간에서 유효성 검사기를 실행하면 사용자에게 유효성 검사기, 보안 수준 및 허용되는 가정 중에서 더 많은 선택권이 제공됩니다. 유효성 검사기는 커널과 독립적으로 더 빠르게 개발될 수도 있습니다.


이 질문을 하기 전에 읽은 내용이 있습니다.:

  • 내가 찾은이 해커 뉴스 주제, 이는 단지일부제한된 eBPF 필터에는 권한이 필요하지 않지만 대부분의 eBPF 애플리케이션에는 여전히 권한이 필요하다는 것을 알고 있습니다.

  • 내가 찾은이 페이지, 그것은 주장한다

    커널 모듈에는 특정 진입점(init_module())과 종료점(cleanup_module())이 있습니다. eBPF는 모든 kprobe/kretprobe/tracepoint에 연결될 수 있으므로 추적에 사용할 수 있습니다.

    이전 참조와 달리 Linux 문서에 따르면 kprobe/kretprobe/tracepoints는 로드 가능한 커널 모듈에서 후크(등록이라고도 함)할 수 있는 것으로 보입니다.kprobes/kretprobes그리고추적점.

  • 이 페이지또한 eBPF는 선점될 수 없지만 커널 모듈은 선점될 수 있다고 주장됩니다. Linux 커널 선점 모듈 코드에 대해 검색할 때마다 항상 커널 공간이 아닌 사용자 공간 선점에 대해 이야기합니다. "커널 모듈이 일반 커널 코드 선점 논리를 따른다"는 것이 무엇을 의미하는지 모르겠지만 반면에 "eBPF 명령어 세트 실행은 커널에 의해 선점될 수 없습니다"라는 의미입니다.

관련 정보