Системный вызов munmap()

Системный вызов munmap()

Системный вызов munmap() экспортируется в адресное пространство пользователя, чтобы иметь возможность удалять интервалы адресов из адресного пространства. Эта функция является комплиментарной к системному вызову mmap() и имеет следующий прототип.

int munmap(void*start, size_t length);

Данный системный вызов реализован в виде очень простой интерфейсной оболочки (wrapper) функции do_munmap().

asmlinkage long sys_munmap(unsigned long addr, size_t len) {

 int ret;

 struct mm_struct *mm; mm = current->mm;

 down_write(&mm->mmap_sem);

 ret = do_munmap(mm, addr, len);

 p_write(&mm->mmap_sem);

 return ret;

}