Re: Top kernel oopses/warnings for the week of May 30th 2008

From: Andrew Morton
Date: Mon Jun 02 2008 - 20:01:20 EST


On Tue, 3 Jun 2008 00:44:38 +0100 (BST)
Hugh Dickins <hugh@xxxxxxxxxxx> wrote:

> + if (in_atomic())
> + kunmap_atomic(kaddr, KM_USER0);
> + else
> + kunmap(kmapped_page);

eek.

/*
* Are we running in atomic context? WARNING: this macro cannot
* always detect atomic context; in particular, it cannot know about
* held spinlocks in non-preemptible kernels. Thus it should not be
* used in the general case to determine whether sleeping is possible.
* Do not use in_atomic() in driver code.
*/
#define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != PREEMPT_INATOMIC_BASE)

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