关于 Linux 5.15 内核编写系统调用的问题(HELP!)

2022-12-05 15:04:13 +08:00
 taoshaoz1

Goal: 设计一个系统调用函数,用来统计系统中所有系统调用的次数

实验环境:OS:Ubuntu 20.04.2 LTS (GNU/Linux 5.15.0-53-generic x86_64)

目前已完成:编写一个普通的带参数的系统调用,并通过 syscall()函数调用成功

遇到的难点

  1. 不知道全局数组存放的位置,无从下手。因为按照以往的旧内核( v2.6 ),是在 sys_i386.c 文件中编写代码创建一个 NR_syscalls 的数组,但是在新版的内核中系统调用似乎已经不再跟以往的一样。我在实现有参调用时仅修改了三个文件就完成了,分别是:
    • kernel/sys.c // 编写函数

    • include/linux/syscalls.h //声明函数 ,asmlinage..

    • arch/x86/entry/syscalls/syscall_64.tbl //调用号表

这种局部的好处理,全局的还能统计每个调用次数的又该怎么实现呢? 求大佬解答,看源码看不懂..关于新版内核的系统调用研究目前能找到的资讯也很少

500 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900236

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX