Re: [PATCH] Fix crash on boot in kmalloc_node IDE changes

From: Christoph Lameter
Date: Wed Jul 06 2005 - 19:43:54 EST


On Wed, 6 Jul 2005, Andi Kleen wrote:

> On Wed, Jul 06, 2005 at 09:34:28AM -0700, Christoph Lameter wrote:
> > On Wed, 6 Jul 2005, Andi Kleen wrote:
> >
> > > - q = blk_init_queue_node(do_ide_request, &ide_lock,
> > > - pcibus_to_node(drive->hwif->pci_dev->bus));
> > > + int node = 0; /* Should be -1 */
> >
> > Why is this not -1?
>
> Because there is no code in rc3 that handles -1 in kmalloc_node.
>
> If you add a patch that handles it then feel free to change.
> But fixing the bootup has the highest priority.
>
> >
> > > + int node = 0;
> > > + if (hwif->drives[0].hwif) {
> >
> > Also needs to be -1.
>
> Then it would crash again.

The patch follows. Maybe add that and include a signoff by me?:

Index: linux-2.6.git/mm/slab.c
===================================================================
--- linux-2.6.git.orig/mm/slab.c 2005-07-05 17:03:30.000000000 -0700
+++ linux-2.6.git/mm/slab.c 2005-07-05 18:25:20.000000000 -0700
@@ -2372,6 +2372,9 @@
struct slab *slabp;
kmem_bufctl_t next;

+ if (nodeid == -1)
+ return kmem_cache_alloc_node(cachep, flags);
+
for (loop = 0;;loop++) {
struct list_head *q;

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