我正在寻找open()close()write()unlink()的实现,但在任何地方都找不到它们!我发现的每个函数都像sys_opendo_openetc_open……但是我们使用的接口(interface)没有任何功能。你能帮助我吗?

我需要发现他们进行了什么样的安全检查

最佳答案

您需要在内核源代码中查找SYSCALL_DEFINE宏。例如,在unlink上对/fs进行grepping可以得到以下结果:
$ grep -r -n SYSCALL_DEFINE *.c | grep unlink

namei.c:2811:SYSCALL_DEFINE3(unlinkat, int, dfd, const char __user *, pathname, int, flag)
namei.c:2822:SYSCALL_DEFINE1(unlink, const char __user *, pathname)

请注意,SYSCALL_DEFINE之后的数字是syscall参数计数。

10-04 20:21