Messages in this thread | | | Date | Fri, 21 Apr 2006 00:59:13 -0700 | From | Andrew Morton <> | Subject | Re: [patch 1/5] mm: remap_vmalloc_range |
| |
Nick Piggin <npiggin@suse.de> wrote: > > On Fri, Apr 21, 2006 at 12:17:12AM -0700, Andrew Morton wrote: > > Nick Piggin <npiggin@suse.de> wrote: > > > > > > Add a remap_vmalloc_range and get rid of as many remap_pfn_range and > > > vm_insert_page loops as possible. > > > > > > remap_vmalloc_range can do a whole lot of nice range checking even > > > if the caller gets it wrong (which it looks like one or two do). > > > > > > > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) > > > - if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) > > > - if (remap_pfn_range(vma, start, page + vma->vm_pgoff, > > > - PAGE_SIZE, vma->vm_page_prot)) > > > - if (remap_pfn_range(vma, addr, pfn, PAGE_SIZE, PAGE_READONLY)) > > > > You've removed the ability for the caller to set the pte protections - it > > now always uses vma->vm_page_prot. > > > > please explain... > > They should use vma->vm_page_prot? > > The callers affected are the PAGE_SHARED ones (the others are unchanged). > Isn't it correct to provide readonly mappings if userspace asks for it?
Dunno. I assume perfmon was using PAGE_READONLY because it doesn't want userspace altering the memory. One would think that this should be enforced at mmap()-time, and that mprotect() might be able to override it anyway. But I haven't looked that closely.
First impression is that there's some potential for breaking stuff in all this - convince me otherwise ;)
- 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/
| |