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 ****************************** 上文談到了像讀書一樣閱讀源碼的重要性,今天談談如何閱讀一份代碼。我所謂的一份代碼,其范圍可能從幾千行到數萬行,有時甚至可多達數十萬行。這些代碼作為一個有機體 ...
一、通過文檔來了解開源項目 通過看文檔,你可以快速地掌握這個軟件整體結構,它有哪些功能特性,它涉及到的關鍵技術、實現原理和它的生態系統等等。在掌握了這些之后,然后再去看它的源代碼。 強調一點,你必須去看這些開源軟件官網上的文檔,盡量不要去搜索一些翻譯的中文文檔。因為中文文檔很多都會落后於英文 ...