About EXPORT_SYMBOL

Dave Hylands dhylands at gmail.com
Thu Feb 10 10:17:11 EST 2011


Hi kashish,

On Thu, Feb 10, 2011 at 5:18 AM, kashish bhatia <koolest77 at gmail.com> wrote:
> Hello All,
> I want to export a function named ext2_free_data() which is present in
> inode.c .
> This function is statically defined in this file. I omit the "static"
> keyword and exported it
> using EXPORT_SYMBOL(ext2_free_data).
> ext2_free_data() function declaration is not present in any header file , so
> I included its
> declaration in my own header file which I kept in fs/ext2 directory.

So generally speaking, functions that are declared static were done
that way for a reason.

> Now when I insert my module using insmod command ,it shows a error : Unknown
> symbol in module.

Did you rebuild the kernel as well? The kernel where the exported
symbol comes from must be rebuilt and you must load using that kernel.

Dave Hylands



More information about the Kernelnewbies mailing list