Re: BUG: v2.4.1 missing EXPORT_SYMBOL

Eric Kasten (kasten@nscl.msu.edu)
Thu, 1 Feb 2001 10:15:13 -0500 (EST)


> 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.

Which is fine by me. I'm not using the md driver much on 2.4.1 at the
moment -- just testing to make sure that most of the things that I'll
use in the longer run are working. Hence, pass on what I know of the
problem and what appears to fix it and hopefully get a bit of a review
by those buried deeper in the kernel than I am (have time to be)
at the moment (which you have aptly provided).

Thanks.

...Eric

Eric Kasten
kasten@nscl.msu.edu
National Superconducting Cyclotron Lab
(517) 333-6412
-
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/