public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Accessibility of variables between kernel modules
@ 2003-02-21 20:57 Sudharsan Vijayaraghavan
  2003-02-21 21:08 ` Brian Gerst
  0 siblings, 1 reply; 2+ messages in thread
From: Sudharsan Vijayaraghavan @ 2003-02-21 20:57 UTC (permalink / raw)
  To: linux-kernel

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.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Accessibility of variables between kernel modules
  2003-02-21 20:57 Accessibility of variables between kernel modules Sudharsan Vijayaraghavan
@ 2003-02-21 21:08 ` Brian Gerst
  0 siblings, 0 replies; 2+ messages in thread
From: Brian Gerst @ 2003-02-21 21:08 UTC (permalink / raw)
  To: Sudharsan Vijayaraghavan; +Cc: linux-kernel

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



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-02-21 20:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-21 20:57 Accessibility of variables between kernel modules Sudharsan Vijayaraghavan
2003-02-21 21:08 ` Brian Gerst

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox