cpusets: BUG: cpuset_excl_nodes_overlap() may sleep under tasklist_lock

From: Kirill Korotaev
Date: Wed Dec 28 2005 - 07:44:41 EST


FYI, there is an obvious bug in cpusets in 2.6.15-rcX:
cpuset_excl_nodes_overlap() may sleep (as it takes semaphore), but is called from atomic context - select_bad_process() under tasklist_lock.
BUG. Found by Denis Lunev.

the same actually applies to cpuset_zone_allowed() which is called e.g. from __alloc_pages()->get_page_from_freelist() and doesn't check for GPF_NOATOMIC anyhow...

Kirill

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