tag | line | file | source code |
mpnt | 61 | arch/i386/ibcs/binfmt_elf.c | struct vm_area_struct *mpnt; |
mpnt | 63 | arch/i386/ibcs/binfmt_elf.c | mpnt = (struct vm_area_struct *)kmalloc(sizeof(*mpnt), GFP_KERNEL); |
mpnt | 64 | arch/i386/ibcs/binfmt_elf.c | if (mpnt) { |
mpnt | 65 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_task = current; |
mpnt | 66 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_start = PAGE_MASK & (unsigned long) p; |
mpnt | 67 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_end = TASK_SIZE; |
mpnt | 68 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_page_prot = PAGE_COPY; |
mpnt | 69 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_flags = VM_STACK_FLAGS; |
mpnt | 70 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_ops = NULL; |
mpnt | 71 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_inode = NULL; |
mpnt | 72 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_offset = 0; |
mpnt | 73 | arch/i386/ibcs/binfmt_elf.c | mpnt->vm_pte = 0; |
mpnt | 74 | arch/i386/ibcs/binfmt_elf.c | insert_vm_struct(current, mpnt); |
mpnt | 85 | fs/binfmt_elf.c | struct vm_area_struct *mpnt; |
mpnt | 87 | fs/binfmt_elf.c | mpnt = (struct vm_area_struct *)kmalloc(sizeof(*mpnt), GFP_KERNEL); |
mpnt | 88 | fs/binfmt_elf.c | if (mpnt) { |
mpnt | 89 | fs/binfmt_elf.c | mpnt->vm_task = current; |
mpnt | 90 | fs/binfmt_elf.c | mpnt->vm_start = PAGE_MASK & (unsigned long) p; |
mpnt | 91 | fs/binfmt_elf.c | mpnt->vm_end = TASK_SIZE; |
mpnt | 92 | fs/binfmt_elf.c | mpnt->vm_page_prot = PAGE_COPY; |
mpnt | 94 | fs/binfmt_elf.c | mpnt->vm_flags = VM_STACK_FLAGS; |
mpnt | 95 | fs/binfmt_elf.c | mpnt->vm_pte = 0; |
mpnt | 98 | fs/binfmt_elf.c | mpnt->vm_flags = VM_GROWSDOWN; |
mpnt | 101 | fs/binfmt_elf.c | mpnt->vm_inode = NULL; |
mpnt | 102 | fs/binfmt_elf.c | mpnt->vm_offset = 0; |
mpnt | 103 | fs/binfmt_elf.c | mpnt->vm_ops = NULL; |
mpnt | 104 | fs/binfmt_elf.c | insert_vm_struct(current, mpnt); |
mpnt | 106 | fs/binfmt_elf.c | current->mm->stk_vma = mpnt; |
mpnt | 304 | fs/exec.c | struct vm_area_struct *mpnt; |
mpnt | 306 | fs/exec.c | mpnt = (struct vm_area_struct *)kmalloc(sizeof(*mpnt), GFP_KERNEL); |
mpnt | 307 | fs/exec.c | if (mpnt) { |
mpnt | 308 | fs/exec.c | mpnt->vm_task = current; |
mpnt | 309 | fs/exec.c | mpnt->vm_start = PAGE_MASK & (unsigned long) p; |
mpnt | 310 | fs/exec.c | mpnt->vm_end = TASK_SIZE; |
mpnt | 311 | fs/exec.c | mpnt->vm_page_prot = PAGE_COPY; |
mpnt | 312 | fs/exec.c | mpnt->vm_flags = VM_STACK_FLAGS; |
mpnt | 313 | fs/exec.c | mpnt->vm_ops = NULL; |
mpnt | 314 | fs/exec.c | mpnt->vm_offset = 0; |
mpnt | 315 | fs/exec.c | mpnt->vm_inode = NULL; |
mpnt | 316 | fs/exec.c | mpnt->vm_pte = 0; |
mpnt | 317 | fs/exec.c | insert_vm_struct(current, mpnt); |
mpnt | 129 | fs/namei.c | struct vm_area_struct * mpnt; |
mpnt | 132 | fs/namei.c | for(mpnt = (*p)->mm->mmap; mpnt; mpnt = mpnt->vm_next) { |
mpnt | 133 | fs/namei.c | if (inode != mpnt->vm_inode) |
mpnt | 135 | fs/namei.c | if (mpnt->vm_flags & VM_DENYWRITE) |
mpnt | 87 | kernel/fork.c | struct vm_area_struct * mpnt, **p, *tmp; |
mpnt | 91 | kernel/fork.c | for (mpnt = current->mm->mmap ; mpnt ; mpnt = mpnt->vm_next) { |
mpnt | 97 | kernel/fork.c | *tmp = *mpnt; |
mpnt | 104 | kernel/fork.c | mpnt->vm_next_share = tmp; |
mpnt | 105 | kernel/fork.c | tmp->vm_prev_share = mpnt; |
mpnt | 928 | mm/memory.c | struct vm_area_struct * mpnt; |
mpnt | 942 | mm/memory.c | for (mpnt = area->vm_next_share; mpnt != area; mpnt = mpnt->vm_next_share) { |
mpnt | 944 | mm/memory.c | if (mpnt->vm_inode != inode) { |
mpnt | 949 | mm/memory.c | if ((mpnt->vm_offset ^ area->vm_offset) & ~PAGE_MASK) |
mpnt | 952 | mm/memory.c | from_address = offset + mpnt->vm_start - mpnt->vm_offset; |
mpnt | 953 | mm/memory.c | if (from_address < mpnt->vm_start || from_address >= mpnt->vm_end) |
mpnt | 956 | mm/memory.c | if (!try_to_share(address, area, from_address, mpnt, give_page)) |
mpnt | 653 | mm/mmap.c | struct vm_area_struct *mpnt; |
mpnt | 685 | mm/mmap.c | mpnt = (struct vm_area_struct *)kmalloc(sizeof(*mpnt), GFP_KERNEL); |
mpnt | 687 | mm/mmap.c | if (!mpnt) |
mpnt | 689 | mm/mmap.c | *mpnt = *area; |
mpnt | 690 | mm/mmap.c | mpnt->vm_offset += (end - area->vm_start); |
mpnt | 691 | mm/mmap.c | mpnt->vm_start = end; |
mpnt | 692 | mm/mmap.c | if (mpnt->vm_inode) |
mpnt | 693 | mm/mmap.c | mpnt->vm_inode->i_count++; |
mpnt | 694 | mm/mmap.c | if (mpnt->vm_ops && mpnt->vm_ops->open) |
mpnt | 695 | mm/mmap.c | mpnt->vm_ops->open(mpnt); |
mpnt | 697 | mm/mmap.c | insert_vm_struct(current, mpnt); |
mpnt | 701 | mm/mmap.c | mpnt = (struct vm_area_struct *)kmalloc(sizeof(*mpnt), GFP_KERNEL); |
mpnt | 702 | mm/mmap.c | if (!mpnt) |
mpnt | 704 | mm/mmap.c | *mpnt = *area; |
mpnt | 705 | mm/mmap.c | if (mpnt->vm_ops && mpnt->vm_ops->open) |
mpnt | 706 | mm/mmap.c | mpnt->vm_ops->open(mpnt); |
mpnt | 711 | mm/mmap.c | insert_vm_struct(current, mpnt); |
mpnt | 727 | mm/mmap.c | struct vm_area_struct *mpnt, *prev, *next, **npp, *free; |
mpnt | 741 | mm/mmap.c | mpnt = find_vma(current, addr); |
mpnt | 742 | mm/mmap.c | if (!mpnt) |
mpnt | 744 | mm/mmap.c | avl_neighbours(mpnt, current->mm->mmap_avl, &prev, &next); |
mpnt | 750 | mm/mmap.c | for ( ; mpnt && mpnt->vm_start < addr+len; mpnt = *npp) { |
mpnt | 751 | mm/mmap.c | *npp = mpnt->vm_next; |
mpnt | 752 | mm/mmap.c | mpnt->vm_next = free; |
mpnt | 753 | mm/mmap.c | free = mpnt; |
mpnt | 754 | mm/mmap.c | avl_remove(mpnt, ¤t->mm->mmap_avl); |
mpnt | 769 | mm/mmap.c | mpnt = free; |
mpnt | 772 | mm/mmap.c | remove_shared_vm_struct(mpnt); |
mpnt | 774 | mm/mmap.c | st = addr < mpnt->vm_start ? mpnt->vm_start : addr; |
mpnt | 776 | mm/mmap.c | end = end > mpnt->vm_end ? mpnt->vm_end : end; |
mpnt | 778 | mm/mmap.c | if (mpnt->vm_ops && mpnt->vm_ops->unmap) |
mpnt | 779 | mm/mmap.c | mpnt->vm_ops->unmap(mpnt, st, end-st); |
mpnt | 781 | mm/mmap.c | unmap_fixup(mpnt, st, end-st); |
mpnt | 782 | mm/mmap.c | kfree(mpnt); |
mpnt | 802 | mm/mmap.c | struct vm_area_struct * mpnt; |
mpnt | 804 | mm/mmap.c | mpnt = task->mm->mmap; |
mpnt | 807 | mm/mmap.c | while (mpnt) { |
mpnt | 808 | mm/mmap.c | struct vm_area_struct * next = mpnt->vm_next; |
mpnt | 809 | mm/mmap.c | if (mpnt->vm_ops && mpnt->vm_ops->close) |
mpnt | 810 | mm/mmap.c | mpnt->vm_ops->close(mpnt); |
mpnt | 811 | mm/mmap.c | remove_shared_vm_struct(mpnt); |
mpnt | 812 | mm/mmap.c | if (mpnt->vm_inode) |
mpnt | 813 | mm/mmap.c | iput(mpnt->vm_inode); |
mpnt | 814 | mm/mmap.c | kfree(mpnt); |
mpnt | 815 | mm/mmap.c | mpnt = next; |
mpnt | 829 | mm/mmap.c | struct vm_area_struct **p, *mpnt; |
mpnt | 832 | mm/mmap.c | while ((mpnt = *p) != NULL) { |
mpnt | 833 | mm/mmap.c | if (mpnt->vm_start > vmp->vm_start) |
mpnt | 835 | mm/mmap.c | if (mpnt->vm_end > vmp->vm_start) |
mpnt | 837 | mm/mmap.c | p = &mpnt->vm_next; |
mpnt | 839 | mm/mmap.c | vmp->vm_next = mpnt; |
mpnt | 871 | mm/mmap.c | void remove_shared_vm_struct(struct vm_area_struct *mpnt) |
mpnt | 873 | mm/mmap.c | struct inode * inode = mpnt->vm_inode; |
mpnt | 878 | mm/mmap.c | if (mpnt->vm_next_share == mpnt) { |
mpnt | 879 | mm/mmap.c | if (inode->i_mmap != mpnt) |
mpnt | 885 | mm/mmap.c | if (inode->i_mmap == mpnt) |
mpnt | 886 | mm/mmap.c | inode->i_mmap = mpnt->vm_next_share; |
mpnt | 888 | mm/mmap.c | mpnt->vm_prev_share->vm_next_share = mpnt->vm_next_share; |
mpnt | 889 | mm/mmap.c | mpnt->vm_next_share->vm_prev_share = mpnt->vm_prev_share; |
mpnt | 901 | mm/mmap.c | struct vm_area_struct *prev, *mpnt, *next; |
mpnt | 903 | mm/mmap.c | mpnt = find_vma(task, start_addr); |
mpnt | 904 | mm/mmap.c | if (!mpnt) |
mpnt | 906 | mm/mmap.c | avl_neighbours(mpnt, task->mm->mmap_avl, &prev, &next); |
mpnt | 910 | mm/mmap.c | prev = mpnt; |
mpnt | 911 | mm/mmap.c | mpnt = next; |
mpnt | 917 | mm/mmap.c | for ( ; mpnt && prev->vm_start < end_addr ; prev = mpnt, mpnt = next) { |
mpnt | 919 | mm/mmap.c | printk("looping in merge_segments, mpnt=0x%lX\n", (unsigned long) mpnt); |
mpnt | 922 | mm/mmap.c | next = mpnt->vm_next; |
mpnt | 927 | mm/mmap.c | if (mpnt->vm_inode != prev->vm_inode) |
mpnt | 929 | mm/mmap.c | if (mpnt->vm_pte != prev->vm_pte) |
mpnt | 931 | mm/mmap.c | if (mpnt->vm_ops != prev->vm_ops) |
mpnt | 933 | mm/mmap.c | if (mpnt->vm_flags != prev->vm_flags) |
mpnt | 935 | mm/mmap.c | if (prev->vm_end != mpnt->vm_start) |
mpnt | 940 | mm/mmap.c | if ((mpnt->vm_inode != NULL) || (mpnt->vm_flags & VM_SHM)) { |
mpnt | 941 | mm/mmap.c | if (prev->vm_offset + prev->vm_end - prev->vm_start != mpnt->vm_offset) |
mpnt | 950 | mm/mmap.c | avl_remove(mpnt, &task->mm->mmap_avl); |
mpnt | 951 | mm/mmap.c | prev->vm_end = mpnt->vm_end; |
mpnt | 952 | mm/mmap.c | prev->vm_next = mpnt->vm_next; |
mpnt | 953 | mm/mmap.c | if (mpnt->vm_ops && mpnt->vm_ops->close) { |
mpnt | 954 | mm/mmap.c | mpnt->vm_offset += mpnt->vm_end - mpnt->vm_start; |
mpnt | 955 | mm/mmap.c | mpnt->vm_start = mpnt->vm_end; |
mpnt | 956 | mm/mmap.c | mpnt->vm_ops->close(mpnt); |
mpnt | 958 | mm/mmap.c | remove_shared_vm_struct(mpnt); |
mpnt | 959 | mm/mmap.c | if (mpnt->vm_inode) |
mpnt | 960 | mm/mmap.c | mpnt->vm_inode->i_count--; |
mpnt | 961 | mm/mmap.c | kfree_s(mpnt, sizeof(*mpnt)); |
mpnt | 962 | mm/mmap.c | mpnt = prev; |