网站首页
编程语言
数据库
系统相关
其他分享
编程问答
btf
2024-03-26
BTF:实践指南
BPF是Linux内核中基于寄存器的虚拟机,可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不同,BPF程序经过验证以确保它们终止并且不包含任何可能锁定内核的循环。BPF程序允许调用的内核函数也受到限制,以确保最大的安全性以防止非法的访问。尽管BPF为编写事件
2024-03-07
BPF 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-31
android ebpf中的CO-RE学习
CO-RE原理因为不同的内核版本的系统内部结构体会有差异,例如structuser_arg_ptr,当内核编译配置中存在CONFIG_COMPAT=y的时候,会在native成员之前增加一个布尔变量is_compat,这样native的偏移就发生的变化。如果编写的ebpf内核程序需要访问structuser_arg_ptr类型的变量就需要考
2023-10-22
progs/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