https://linux.cn/article-9507-1.html 什么是 BPF? BPF,及伯克利包过滤器Berkeley Packet Filter,最初构想提出于 1992 年,其目的是为了提供一种过滤包的方法,并且要避免从内核空间到用户空间的无用的数据包复制行为。它最 ...
一 BPF MAP CREATE 这个系统调用首先调用map create函数,这个函数就是之前分析的bpf模块整数溢出漏洞所在的函数,其核心思想是对申请出一块内存空间,其大小是管理块结构体 attr参数中的size大小,为其分配fd,并将其放入到map队列中,可以用fd号来查找。 map create 二 BPF PROG LOAD 用于将用户编写的EBPF规则加载进入内核,其中包含有多处校验。 ...
2019-09-25 10:53 0 417 推荐指数:
https://linux.cn/article-9507-1.html 什么是 BPF? BPF,及伯克利包过滤器Berkeley Packet Filter,最初构想提出于 1992 年,其目的是为了提供一种过滤包的方法,并且要避免从内核空间到用户空间的无用的数据包复制行为。它最 ...
BPF CO-RE 示例代码解析 在BPF的可移植性和CO-RE一文的末尾提到了一个名为runqslower的工具,该工具用于展示在CPU run队列中停留的时间大于某一值的任务。现在以该工具来展示如何使用BPF CO-RE。 目录 BPF CO-RE 示例代码解析 ...
源起 最近看到国内两篇文章[1][2]先后翻译了就职于Netflix的性能分析大牛Brendan Gregg于2017年7月31日写的《Golang bcc/BPF Function Tracing》[3],这迅速引起了我的兴趣,2016年时我曾在做MQTT服务器端开发时便意识到软件调试 ...
阅读代码,对于一个程序员来说,是一项很基本而又很重要的能力。我也曾经跟很多新人谈过,“要多看代码,少写代码”,但是,因为阅读代码是件苦差,绝大数的程序员更宁愿写代码。其实写代码,和其它一些行业,也是有相通之处的。比如说,书法或者绘画,都是从临摹开始。写代码其实也是一样,从阅读别人的代码中,提高 ...
我们进入 qt/src 文件夹。你可能对这里的目录名时曾相识,因为几乎这里的所有文件夹名都对应着 Qt 的模块的名字:gui,network,multimedia等等。我们从最核心的 QtCore 开 ...
原文:http://mdsa.51cto.com/art/201707/544211.htm -------------------------------------------------------- 如何阅读框架源代码 不管对于那个段位的 Developer 来说 ...
https://zhuanlan.zhihu.com/p/26222486 ****************************** 上文谈到了像读书一样阅读源码的重要性,今天谈谈如何阅读一份代码。我所谓的一份代码,其范围可能从几千行到数万行,有时甚至可多达数十万行。这些代码作为一个有机体 ...
一、通过文档来了解开源项目 通过看文档,你可以快速地掌握这个软件整体结构,它有哪些功能特性,它涉及到的关键技术、实现原理和它的生态系统等等。在掌握了这些之后,然后再去看它的源代码。 强调一点,你必须去看这些开源软件官网上的文档,尽量不要去搜索一些翻译的中文文档。因为中文文档很多都会落后于英文 ...