国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一文解決網(wǎng)絡(luò)系統(tǒng)調(diào)用接口到內(nèi)核的請求

2022-12-07 21:01 作者:補給站Linux內(nèi)核  | 我要投稿

網(wǎng)絡(luò)套接字入口函數(shù)

套接字系統(tǒng)調(diào)用如何到達sys_socketcall

accept函數(shù)為例

系統(tǒng)調(diào)用中參數(shù)從用戶態(tài)向內(nèi)核態(tài)的傳遞是通過寄存器完成的,eax表示系統(tǒng)調(diào)用,ebx表示第一個參數(shù),ecx表示第二個參數(shù),edx表示第三個參數(shù)(主要針對socke.S)


【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【749907784】整理了一些個人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦?。。。ê曨l教程、電子書、實戰(zhàn)項目及代碼)??



第一層:accept.s文件

(glibc函數(shù)庫)sysdeps\unis\sysv\linux\accept.S

第二層:socket.S文件

重點看:

movl $SYS_ify(socketcall), %eax /* System call number in %eax. ?*/

展開SYS_iff()宏(glibc函數(shù)庫:? \sysdeps\unix\sysdep.h)

預(yù)處理后為:

所以:

這樣套接字系統(tǒng)調(diào)用進入到正確的函數(shù)中了。

那么第一個參數(shù)是識別系統(tǒng)調(diào)用的具體函數(shù)的,這個參數(shù)在socket.S(glibc庫)中:

關(guān)于SOCKOP_accept:

查看(glibc庫:\sysdeps\unix\sysv\linux\socketcall.h)

在linux內(nèi)核(include/linux/net.h):

第二個參數(shù)

在socket.S中:以指針的方式設(shè)置了sys_socketcall的第二個參數(shù)

設(shè)置完以上的系統(tǒng)調(diào)用號還有參數(shù)后進入軟中斷:int $0x80,進入了內(nèi)核態(tài)進行處理

第三層:entry.S文件

以上源碼來自:linux內(nèi)核源碼1.2.12

??? ? ? ? ? ? ? ? ? ? ??glibc-2.0.1


原文作者:技術(shù)簡說




一文解決網(wǎng)絡(luò)系統(tǒng)調(diào)用接口到內(nèi)核的請求的評論 (共 條)

分享到微博請遵守國家法律
巴楚县| 武汉市| 泊头市| 康乐县| 静海县| 安达市| 清丰县| 磐石市| 牡丹江市| 安远县| 嘉禾县| 张家界市| 万州区| 石泉县| 临泽县| 曲靖市| 晴隆县| 铜梁县| 海口市| 扶沟县| 凤台县| 兖州市| 武宁县| 鄂伦春自治旗| 松阳县| 怀仁县| 紫阳县| 鹤山市| 莱芜市| 青州市| 平乡县| 玉屏| 安康市| 区。| 新化县| 凉城县| 石泉县| 上思县| 方山县| 沙坪坝区| 洞口县|