Re: [bug] SCSI/SLUB - latest -git: WARNING: at mm/slub.c:2443kmem_cache_destroy, scsi_put_host_cmd_pool()

From: James Bottomley
Date: Tue Apr 22 2008 - 09:40:30 EST


On Tue, 2008-04-22 at 15:10 +0200, Ingo Molnar wrote:
> * James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
> > Thanks ... it looks like we may have trouble from devices that alter
> > the unchecked isa dma flag after scsi_host_alloc. The guilty parties
> > appear to be gdth, eata, u14-34f, ultrastor, BusLogic and advansys.
> >
> > The trouble is that if you alloc the host with it one way and free it
> > with it the other, the wrong freelist is used and the ref counts are
> > invalid.
> >
> > Try this pseudo fix: it avoids allocating the freelist until add time
> > (by which time they should all have fixed the flag). It still doesn't
> > change the fact that the host is allocated in the wrong region, but
> > that shouldn't matter too much.
>
> ok - do you intend to push this pseudo-fix upstream? If yes then please
> consider it fixed as far as i'm concerned - i'll re-reply if the warning
> resurfaces (it wasnt lethal to the bootup otherwise). Or if you've got
> some other approach/fix then i can test that too.

It's certainly the line of least resistance. The more correct fix would
be to haul unchecked_isa_dma out of the host and make everything use the
template, so it becomes immutable (as it should be). However, that's a
lot of work and given that Andi's gunning for unchecked_isa_dma anyway,
probably not worth it.

So, unless I think of something better in the next few days, this is the
way I'll fix it.

James


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