在linux内核上寻找系统调用实现

我正在寻找open(),close(),write()和unlink()的实现,但我无法在任何地方找到它们!我发现的每个函数都像sys_open,do_open,etc_open ……但我们使用的接口都没有.你能帮助我吗?

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

解决方法

您需要在内核源代码中查找SYSCALL_DEFINE宏.例如,在/ fs处取消链接获取以下内容

$grep -r -n SYSCALL_DEFINE * .c | grep unlink

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

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

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...