Re: Accessibility of variables between kernel modules

From: Brian Gerst (bgerst@didntduck.org)
Date: Fri Feb 21 2003 - 16:08:54 EST


Sudharsan Vijayaraghavan wrote:
> Hi,
>
> Am using 2.4 kernel . In this release i find that all non-static symbols
> ( functions/variables) defined in one kernel module are exported by
> default to other kernel modules .
> If we would use EXPORT_NO_SYMBOLS this exporting of symbols is prevented
> . However we can export one of the symbols in one module using
> EXPORT_SYMBOL and then prevent the export of others by immediately
> calling EXPORT_NO_SYMBOLS.
>
> We can even use EXPORT_SYMBOL_GPL to export a symbol from a given module
> , these could be accessed by
> only those modules using MODULE_LICENSE() and are GPL compatible.
>
> However my requirement is quite different. It is as follows.
>
> I have two kernel modules A and B. Is it possible that the variables in
> kernel module A should only be visible to kernel module B and no other
> kernel modules in the system.
> If so please help me out with some explanation.
> Really appreciate your help regarding the same.
>
> Thanks in advance,
> Sudharsan.

Exported symbols are always global. If you want to make sure there are
no symbol conflicts the variable names must be unique. Other than the
GPL symbols, there is no way of preventing other modules from using
exported symbols.

--
				Brian Gerst

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:34 EST