Linux kernel filename\u lookup.part.64与filename\u lookup符号

Linux kernel filename\u lookup.part.64与filename\u lookup符号,linux-kernel,linux-device-driver,system-calls,kernel-module,Linux Kernel,Linux Device Driver,System Calls,Kernel Module,我们有一个使用filename_查找调用的内核模块,它在RHEL8内核4.18中不再导出。但在/proc/kallsyms中发现了另一个导出的系统调用,即filename\u lookup.part.64 什么是文件名\u lookup.part.64?我可以使用/proc/kallsyms中导出的地址在代码中调用它吗 我找不到有关文件名\u lookup.part.64的任何文档 使用这种未记录的API安全吗 struct filename filename = { .name = name

我们有一个使用filename_查找调用的内核模块,它在RHEL8内核4.18中不再导出。但在/proc/kallsyms中发现了另一个导出的系统调用,即filename\u lookup.part.64

什么是文件名\u lookup.part.64?我可以使用/proc/kallsyms中导出的地址在代码中调用它吗

我找不到有关文件名\u lookup.part.64的任何文档

使用这种未记录的API安全吗

struct filename filename = { .name = name };
struct nameidata nd;
filename_lookup(AT_FDCWD, &filename, LOOKUP_PARENT, &nd);

我希望找到在没有文件名的情况下可以用来替换上述函数的调用。\u lookup()

任何C函数的可能副本的名称中都不能有点(
):这违反了C语法。只有编译器才能在符号名称中添加“禁止”字符。显然,这些符号不能被记录下来——它们是编译过程的一部分,而不是代码的一部分。我找不到任何证据表明
filename\u lookup
曾被导出到模块中。我只是用3.10.0-514.el7试过RHEL 7.3,filename\u lookup是kallsyms。