On Tue, 2003-06-24 at 15:57, Ravi wrote: > > --- Jim Bauer <jfbauer@nfr.com> wrote: > > On Wed, 2003-06-11 at 06:06, Biswaranjan wrote: > > > > we have two buffers in the kernel.. > > > the user is able to mmap one buffer to the user space > > > using mmap() system call. > > > we have used remap_page_range() to setup the mapping.with > > > one buffer. this is working fine > > > ... > > > ... > > > > > > i think we are supposed to remove the old mappings > > > with zap_page_range()..but since we are compiling as a > > > module this function is inaccessible (dont know why) > > > > I believe the zap_page_range() will do the trick. As > > for it not being exported, yeah, that would be a pain. > > You could either 1) export it in your own kernel(s), > > or 2) submit a patch to have it exported in official > > releases. You'll still need to do #1 in the short term. > > You don't really need zap_page_range() to remove the old > mapping. Since you know the virtual address at which the > page is mapped, you can also find out where the corresponding > PTE (page table entry) is. Then you can clear the entry > with ptep_get_and_clear(). This lets you save the old PTE, > from which you can get to the page using pte_page(). You > can then free the page or do whatever else you want with it. Know of a good example of this? > My understanding is that zap_page_range() should not be > used for pages allocated by kernel or kernel modules. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/