Re: Linux 2.6.24-rc7 Build-Failure at__you_cannot_kmalloc_that_much

From: Andrew Morton
Date: Mon Jan 07 2008 - 13:08:19 EST


On Mon, 07 Jan 2008 16:06:20 +0530 Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> wrote:

> The defconfig make fails on x86_64 (AMD box) with following error
>
> CHK include/linux/utsrelease.h
> CALL scripts/checksyscalls.sh
> CHK include/linux/compile.h
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> drivers/built-in.o(.init.text+0x8d76): In function `dmi_id_init':
> : undefined reference to `__you_cannot_kmalloc_that_much'
> make: *** [.tmp_vmlinux1] Error 1
>
>
> # gcc --version
> gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59)
>
> This was reported by Adrian Bunk http://lkml.org/lkml/2007/12/1/39

That's odd. afacit the only kmalloc in dmi_id_init() is

dmi_dev = kzalloc(sizeof(*dmi_dev), GFP_KERNEL);

and even gcc-3.2.3 should be able to get that right.

Could you please a) verify that simply removing that line fixes the build
error and then b) try to find some way of fixing it?

Try replacing `sizeof(*dmi_dev)' with `sizeof(struct dmi_device_attribute)'
and any other tricks you can think of to try to make the compiler process
the code differently.

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