Messages in this thread | | | From | Clemens Kolbitsch <> | Subject | Re: Forbid deletion of memory mappings | Date | Thu, 30 Aug 2007 19:09:28 +0200 |
| |
On Thursday 30 August 2007 19:07:05 Jiri Kosina wrote: > On Thu, 30 Aug 2007, Clemens Kolbitsch wrote: > > It all works perfectly well (creating & deleting the additional > > mappings), however, when the kernel feels like it needs to allocate a > > mapping in user-space it sometimes deletes my mapping and overwrites it > > with the new one, although there is plenty of free memory at some other > > location. > > Hi Clemens, > > what do you mean by "overwrites it"? It just probably merges your vma with > the newly created one, right?
that's exactly the problem... it replaces my mapping with the new one... i.e. it first deletes my mapping and then creates the new one at the same location.
i *guess* this all happens in exec.c, lines 1033ff:
munmap_back: vma = find_vma_prepare(mm, addr, &prev, &rb_link, &rb_parent); if (vma && vma->vm_start < addr + len) { if (do_munmap(mm, addr, len)) return -ENOMEM; goto munmap_back; } - 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/
| |