2013-05-08 65 views
0

我使用的方法dentry_path在我的内核模块,编制工作很好,但加载内核模块我去错误消息时:未知符号dentry_path

Error: could not insert module my_mod.ko: Unknown symbol in module

而且在/var/log/kern.log

May 8 19:45:10 zUbuntu kernel: [ 1173.105984] my_mod: Unknown symbol dentry_path (err 0)

这种方法declared like the following

extern char *dentry_path(struct dentry *, char *, int); 

莫非你认罪se解释我为什么不能使用这种方法链接我的模块?

+0

是不是* *定义为静态的,通过任何机会呢? – 2013-05-08 18:03:35

+0

不,它不是:http://lxr.free-electrons.com/source/fs/dcache.c#L2785 – ZedTuX 2013-05-08 19:37:24

回答

0

我认为你需要,而不是使用dentry_path dentry_path_raw,原因dentry_path不出口。此外,dentry_path_raw是这两者之间更安全的版本,它受到一个写锁的保护。

+0

诅咒......你是完全正确! – ZedTuX 2013-05-09 08:48:11