Re: WARNING: __GFP_FS allocations with IRQs disabled(kmemcheck_alloc_shadow)

From: Christoph Lameter
Date: Mon Jul 09 2012 - 09:55:03 EST


On Mon, 9 Jul 2012, JoonSoo Kim wrote:

> 2012/7/8 Fengguang Wu <fengguang.wu@xxxxxxxxx>:
> > Hi Vegard,
> >
> > This warning code is triggered for the attached config:
> >
> > __lockdep_trace_alloc():
> > /*
> > * Oi! Can't be having __GFP_FS allocations with IRQs disabled.
> > */
> > if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)))
> > return;
> >
> > Where the irq is possibly disabled at the beginning of __slab_alloc():
> >
> > local_irq_save(flags);
>
> Currently, in slub code, kmemcheck_alloc_shadow is always invoked with
> irq_disabled.
> I think that something like below is needed.

Or you could move the kmem_check_enabled section to occur before the irq
is disabled.
--
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/