Messages in this thread | | | From | Nick Piggin <> | Subject | Re: 2.6.27-rc5-mm1: 3 WARN_ON dumps during boot (acpi + vmap_pte_range) | Date | Mon, 8 Sep 2008 19:05:40 +1000 |
| |
On Saturday 06 September 2008 16:50, Andrew Morton wrote: > That's coming out of the module loader and is a new one. It's the same > > warning as the agp one: > : static int vmap_pte_range(pmd_t *pmd, unsigned long addr, > : unsigned long end, pgprot_t prot, struct page **pages, int *nr) > : { > : pte_t *pte; > : > : /* > : * nr is a running index into the array which helps higher level > : * callers keep track of where we're up to. > : */ > : > : pte = pte_alloc_kernel(pmd, addr); > : if (!pte) > : return -ENOMEM; > : do { > : struct page *page = pages[*nr]; > : > : -->> if (WARN_ON(!pte_none(*pte))) > : return -EBUSY; > : if (WARN_ON(!page)) > : return -ENOMEM; > : set_pte_at(&init_mm, addr, pte, mk_pte(page, prot)); > : (*nr)++; > : } while (pte++, addr += PAGE_SIZE, addr != end); > : return 0; > : } > > I'm suspecting an overactive assertion in the new vmap code?
It shouldn't be, because the old code has that same warning I think.
It also probably shouldn't be the caller, because nothing is using the new interfaces yet.
I'm sure it must be something wrong with the vmap rewrite patch, but I'm simply not having any luck reproducing it yet. Is 32-bit a common theme? (I'm trying to test 64-bit with a greatly reduced vmalloc space, but I don't have access to a 32-bit compiler just now - travelling).
I might have to send a test-and-report-back debug patch...
| |