从社区中得到了一个解决方案: System call hooking example arguments are incorrect
然后搜索这个得到了 这篇文章
其中,参数以const struct pt_regs *regs的形式存储, 第一个参数dfd在regs->di中 第二个参数filename在regs->si中 第三个参数flags在regs->dx中 第四个参数mode在regs->r10中 获取之后再对其进行类型转换即可。
主要是kernel4.17后对参数的获取做了修改,但是即使定义的函数没有hook上也不会影响正常使用的意思。
花了两天时间自己没解决,求助社区半天不到就解决了。