--- Mandeep Bhatti <mandeepsbhatti@yahoo.com> wrote: > hi > > I am adding versioning capability to linux filesystem > by developing a module.I have couple of problems with > that > > 1. I want that module compiled for one kernel runs on > another kernel. So I have enabled CONFIG_MODVERSIONS > and also use gcc -I "/lib/modules/$(uname -r)/....." > Because of this i have problems in using __getname() > and putname(name).Whenever i use these functions to > allocate or free some memory, i get error message " > names_cahcep_Rsmp_d25469b4 undeclared".If I remove > CONFIG_MODVERSIONS everything is fine. The way I understand it, enabling CONFIG_MODVERSIONS doesn't guarantee that a module will run on any kernel. Instead, the symbol versioning information will ensure that the module loads safely if the symbols it needs have not changed across kernel versions. In your case, it is possible that getname() and putname() have changed between the kernel version you built on and the version you are loading the module. BTW, have you built the kernel with CONFIG_MODVERSIONS enabled? Or are you setting it only for the module? (I guess it won't make sense to set it only for the module). > 2. lookup_dentry is not resolved when i insert module. Have you checked if lookup_dentry is exported? -Ravi. __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/