From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Date: Thu, 17 May 2007 19:19:59 +0000 Subject: Re: [PATCH] fix kmalloc(0) in arch/ia64/pci/pci.c Message-Id: <20070517121959.b1b374fa.akpm@linux-foundation.org> List-Id: References: <20070517110056.779944a2.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20070517110056.779944a2.kamezawa.hiroyu@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: KAMEZAWA Hiroyuki Cc: "linux-ia64@vger.kernel.org" , LKML , "tony.luck@intel.com" On Thu, 17 May 2007 11:00:56 +0900 KAMEZAWA Hiroyuki wrote: > Fix following kmalloc(0) message. patch is agaisnt 2.6.22-rc1-mm1. >=20 > =3D > BUG: at mm/slab.c:792 __find_general_cachep() >=20 > Call Trace: > [] show_stack+0x40/0xa0 > sp=E000014042227b00 bsp=E000014042220f90 > [] dump_stack+0x30/0x60 > sp=E000014042227cd0 bsp=E000014042220f78 > [] kmem_find_general_cachep+0x90/0x140 > sp=E000014042227cd0 bsp=E000014042220f48 > [] __kmalloc_node+0x30/0xa0 > sp=E000014042227cd0 bsp=E000014042220f18 > [] pci_acpi_scan_root+0x180/0x4a0 > sp=E000014042227cd0 bsp=E000014042220ed0 > [] acpi_pci_root_add+0x4e0/0x700 > sp=E000014042227cf0 bsp=E000014042220e90 > [] acpi_device_probe+0xa0/0x160 > sp=E000014042227d10 bsp=E000014042220e58 > [] driver_probe_device+0x250/0x380 > sp=E000014042227d10 bsp=E000014042220e18 > [] __driver_attach+0xc0/0x160 > sp=E000014042227d10 bsp=E000014042220de0 > [] bus_for_each_dev+0x80/0x100 > sp=E000014042227d10 bsp=E000014042220da8 > [] driver_attach+0x40/0x60 > sp=E000014042227d30 bsp=E000014042220d88 > [] bus_add_driver+0xf0/0x3c0 > sp=E000014042227d30 bsp=E000014042220d48 > [] driver_register+0x140/0x160 > sp=E000014042227d30 bsp=E000014042220d28 > [] acpi_bus_register_driver+0x50/0x80 > sp=E000014042227d30 bsp=E000014042220d08 > [] acpi_pci_root_init+0x20/0x60 > sp=E000014042227d30 bsp=E000014042220cf0 > [] kernel_init+0x450/0x7c0 > sp=E000014042227d30 bsp=E000014042220ca8 > [] kernel_thread_helper+0x30/0x60 > sp=E000014042227e30 bsp=E000014042220c80 > [] start_kernel_thread+0x20/0x40 > sp=E000014042227e30 bsp=E000014042220c80 > =3D >=20 > Fix kmalloc(0) >=20 > Signed-Off-By: KAMEZAWA Hiroyuki >=20 > Index: linux-2.6.22-rc1-mm1/arch/ia64/pci/pci.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D> --- linux-2.6.22-rc1-mm1.orig/arch/ia64/pci/pc= i.c > +++ linux-2.6.22-rc1-mm1/arch/ia64/pci/pci.c > @@ -354,6 +354,8 @@ pci_acpi_scan_root(struct acpi_device *d > =20 > acpi_walk_resources(device->handle, METHOD_NAME__CRS, count_window, > &windows); > + if (!windows) > + goto out2; > controller->window =3D kmalloc_node(sizeof(*controller->window) * windo= ws, > GFP_KERNEL, controller->node); > if (!controller->window) >=20 This is a significant change in functionality. Can you please explain why it doesn't break things?