lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 08 Jan 2008 14:57:05 +0530
From:	Balbir Singh <balbir@...ux.vnet.ibm.com>
To:	Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com>
CC:	Andrew Morton <akpm@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	bunk@...nel.org, clameter@....com,
	Andy Whitcroft <apw@...dowen.org>
Subject: Re: Linux 2.6.24-rc7 Build-Failure at __you_cannot_kmalloc_that_much

Kamalesh Babulal wrote:
> Andrew Morton wrote:
>> On Mon, 07 Jan 2008 16:06:20 +0530 Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com> 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.
>>
> 
> removing the line fixes the issue, but changing the sizeof(*dmi_dev) to
> sizeof(struct device) is not helping.
> 

Hi, Andrew,

We tried the following, generated stabs information. The size of struct
device is 560 bytes. We found that dead code was not being eliminated
(__you_cannot_kmalloc_that_much), even though no one called that
function. I suspect builtin_constant_p() and dead code elimination as
the root causes of this error.

-- 
	Warm Regards,
	Balbir Singh
	Linux Technology Center
	IBM, ISTL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ