2
我正在编写一个内核模块来检查VFS中的某些内容。在这个模块中,我需要使用的内核API“putname”,其定义为:当编译我的内核模块时出现“WARNING,putname undefined”
#ifdef CONFIG_AUDITSYSCALL
void putname(const char *name)
{
if (unlikely(!audit_dummy_context()))
audit_putname(name);
else
__putname(name);
}
EXPORT_SYMBOL(putname);
当我与内核3.6.10遵守它的Fedora 18,一切都OK,模块工作正常,但是当我将它切换到内核3.11.4。编译器给了我一个警告“putname is undefined”,当我将“putname”替换为“__putname”时,内核模块可以被编译,但是当它运行时,会出错。回溯显示它在__putname中。有没有人可以帮助我解决这个问题? 感谢
我知道接口已经改变了,但是我试图通过getname()来得到一个''struct filename *'',但是编译器会抛出与原始问题相同的错误。 – Shubs