我正在寻找open()
,close()
,write()
和unlink()
的实现,但在任何地方都找不到它们!我发现的每个函数都像sys_open
,do_open
,etc_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参数计数。