BTF
  • 2024-03-26BTF:实践指南
    BPF是Linux内核中基于寄存器的虚拟机,可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不同,BPF程序经过验证以确保它们终止并且不包含任何可能锁定内核的循环。BPF程序允许调用的内核函数也受到限制,以确保最大的安全性以防止非法的访问。尽管BPF为编写事件
  • 2024-03-07BPF BTF 详解
    1.介绍BTF(BPFTypeFormat)是内嵌在BPF(BerkeleyPacketFilter)程序中的数据结构描述信息。BPF原本是用于数据包过滤的编程语言,但随着eBPF(extendedBPF)的发展,它的用途已经扩展到多种内核子系统中,包括性能监测、网络安全和配置管理等。BTF是为了实现更复杂的eBPF程序而设计的。其
  • 2023-11-02使用uftrace跟踪bpf程序的执行
    作者[email protected]正文uftrace专门用来跟踪用户态的C/C++以及Rust程序的执行,此外它也支持跟踪内核函数。前一篇文章bpf_func_id是如何产生的?是以minimal为例,下面用uftrace跟踪一下执行流。为了可以让uftrace更好的工作,需要对Makefile稍加修改,给GCC加入-pg编译选项,用G
  • 2023-10-31android ebpf中的CO-RE学习
    CO-RE原理因为不同的内核版本的系统内部结构体会有差异,例如structuser_arg_ptr,当内核编译配置中存在CONFIG_COMPAT=y的时候,会在native成员之前增加一个布尔变量is_compat,这样native的偏移就发生的变化。如果编写的ebpf内核程序需要访问structuser_arg_ptr类型的变量就需要考
  • 2023-10-22progs/verifier_netfilter_retcode.c:42:1: error: unknown attribute 'btf_decl_tag' ignored
    平台ubuntu20.04问题在linux内核源码目录下执行下面的命令时:root@ubuntu-vm:/mnt/linux-6.5/tools/testing/selftests/bpf#make报如下错误:progs/verifier_netfilter_retcode.c:41:1:error:unknownattribute'btf_decl_tag'ignored[-Werror,-Wunknown-attributes]__d