[BUG] vmalloc_area_pages() in 2.4.2-ac25

Tachino Nobuhiro (tachino@open.nm.fujitsu.co.jp)
Mon, 26 Mar 2001 20:30:16 +0900


vmalloc_area_pages() in 2.4.2-ac25 seems to be broken. It calls
spin_lock(&init_mm.page_table_lock) twice and causes system hang.

inline int vmalloc_area_pages (unsigned long address, unsigned long size,
int gfp_mask, pgprot_t prot)
{
pgd_t * dir;
unsigned long end = address + size;
int ret;

dir = pgd_offset_k(address);
flush_cache_all();
>>>> spin_lock(&init_mm.page_table_lock);
do {
pmd_t *pmd;

>>>> spin_lock(&init_mm.page_table_lock); /* pmd_alloc requires this */
pmd = pmd_alloc(&init_mm, dir, address);
spin_unlock(&init_mm.page_table_lock);
ret = -ENOMEM;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/