Kernel Space: Tightening Symbol Exports
Dec 06, 2007, 13:00 (0 Talkback[s])
(Other stories by Jonathan Corbet)
"The kernel's loadable module mechanism does not give modules
access to all parts of the kernel. Instead, any kernel symbol which
is intended to be usable by loadable modules must be explicitly
exported to them via one of the variants of the EXPORT_SYMBOL()
macro. The idea behind this restriction is to place limits on the
reach of modules and to provide a relatively well-defined module
API. In practice, there have been few limits placed on the
exporting of symbols, with the result that many thousands of
symbols are available to modules. Loadable modules can access many
of the obviously useful symbols (printk(), say, or kmalloc()), but
they can also get at generic symbols like edd, tpm_pm_suspend(),
vr41xx_set_irq_trigger(), or flexcop_dump_reg()..."
Complete
Story
Related Stories: