Re: ntfs.ko needs unknown symbol end_iomem (under uml)

From: Yura Pakhuchiy
Date: Thu Oct 21 2004 - 09:58:20 EST


Hi,

Anton Altaparmakov wrote:
On Thu, 2004-10-21 at 14:53, Yura Pakhuchiy wrote:

Hi Anton,

When I compile ntfs as module for UML I receive during build:
*** Warning: "end_iomem" [fs/ntfs/ntfs.ko] undefined!

It's ntfs bug or uml bug? Or am I doing something wrong?


UML is broken. It defines VMALLOC_START to ((end_iomem +
VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) but it clearly does not export
end_iomem to modules which means modules cannot use VMALLOC_START.

But ntfs uses VMALLOC_START to determine if a pointer is in kmalloc()-ed
memory or vmalloc()-ed memory so if you want to build it as a module you
need to fix uml to export end_iomem, i.e. by for example adding:

EXPORT_SYMBOL(end_iomem);

after the end_iomem definition in arch/um/kernel/um_arch.c and the
reconfiguring, recbuilding the kernel.

You may wish to report this to LKML / the UML maintainer (after you have
made sure that this does actually fix it).

Best regards,

Anton

I didn't find UML maintainer in MAINTAINERS, so I send this to
linux-kernel@xxxxxxxxxxxxxxxx

I added line that Anton suggested and it's fixed above bug. Patch below.

Best regards,
Yura


--- ntfs-2.6-devel/arch/um/kernel/um_arch.c 2004-10-19 20:50:05.000000000 +0300
+++ ntfs-2.6-yura/arch/um/kernel/um_arch.c 2004-10-21 17:14:18.000000000 +0300
@@ -300,6 +300,7 @@ static void __init uml_postsetup(void)
/* Set during early boot */
unsigned long brk_start;
unsigned long end_iomem;
+EXPORT_SYMBOL(end_iomem);

#define MIN_VMALLOC (32 * 1024 * 1024)


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