Re: BUG: v2.4.1 missing EXPORT_SYMBOL

Keith Owens (kaos@ocs.com.au)
Thu, 01 Feb 2001 11:40:32 +1100


On Wed, 31 Jan 2001 15:44:29 -0500 (EST),
Eric Kasten <kasten@nscl.msu.edu> wrote:
>Quick bug report for kernel 2.4.1. There needs to be a
>EXPORT_SYMBOL(name_to_kdev_t); at the bottom of linux/init/main.c.
>name_to_kdev_t is used by the md driver (and maybe others). If the
>driver is built as a module it won't load due to the missing symbol.

Don't blame us when the driver gets an oops. name_to_kdev_t is defined
__init so the code is discarded after boot and the area is reused as
scratch space. You must not EXPORT_SYMBOL() any __init or __exit code.

The only place name_to_kdev_t is used in md is in the md_setup routine,
that routine probably only makes sense when md is built in, not when md
is a module. I recommend wrapping md_setup and all its data in #ifndef
MODULE.

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