Project

General

Profile

Actions

Bug #912

closed

panic: pmap_page_protect: illegal for unmanaged page

Added by corecode over 16 years ago. Updated over 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

hey,

I think I found a bug somewhere in the code chain of msync(..., MS_INVALIDATE), if refering to mmap()ed device memory.

device memory has pages of type PG_FICTITIOUS, but pmap_remove_all() complains:

#if defined(PMAP_DIAGNOSTIC)
/* * XXX this makes pmap_page_protect(NONE) illegal for non-managed * pages!
*/
if (!pmap_initialized || (m->flags & PG_FICTITIOUS)) {
panic("pmap_page_protect: illegal for unmanaged page, va: 0x%08llx", (long long)VM_PAGE_TO_PHYS(m));
}
#endif

I guess the XXX is correct and we need to either a) avoid calling pmap_remove_all() or b) return without error.

cheers
simon

Actions

Also available in: Atom PDF