|
Lines 95-101
Link Here
|
| 95 |
vma->vm_private_data = NULL; |
95 |
vma->vm_private_data = NULL; |
| 96 |
down_write(¤t->mm->mmap_sem); |
96 |
down_write(¤t->mm->mmap_sem); |
| 97 |
{ |
97 |
{ |
| 98 |
insert_vm_struct(current->mm, vma); |
98 |
if (insert_vm_struct(current->mm, vma)) { |
|
|
99 |
kmem_cache_free(vm_area_cachep, vma); |
| 100 |
up_write(¤t->mm->mmap_sem); |
| 101 |
return; |
| 102 |
} |
| 99 |
} |
103 |
} |
| 100 |
up_write(¤t->mm->mmap_sem); |
104 |
up_write(¤t->mm->mmap_sem); |
| 101 |
} |
105 |
} |
|
Lines 117-123
Link Here
|
| 117 |
vma->vm_private_data = NULL; |
121 |
vma->vm_private_data = NULL; |
| 118 |
down_write(¤t->mm->mmap_sem); |
122 |
down_write(¤t->mm->mmap_sem); |
| 119 |
{ |
123 |
{ |
| 120 |
insert_vm_struct(current->mm, vma); |
124 |
if (insert_vm_struct(current->mm, vma)) { |
|
|
125 |
kmem_cache_free(vm_area_cachep, vma); |
| 126 |
up_write(¤t->mm->mmap_sem); |
| 127 |
return; |
| 128 |
} |
| 121 |
} |
129 |
} |
| 122 |
up_write(¤t->mm->mmap_sem); |
130 |
up_write(¤t->mm->mmap_sem); |
| 123 |
} |
131 |
} |
|
Lines 164-170
Link Here
|
| 164 |
{ |
172 |
{ |
| 165 |
unsigned long stack_base; |
173 |
unsigned long stack_base; |
| 166 |
struct vm_area_struct *mpnt; |
174 |
struct vm_area_struct *mpnt; |
| 167 |
int i; |
175 |
int i, ret; |
| 168 |
|
176 |
|
| 169 |
stack_base = IA32_STACK_TOP - MAX_ARG_PAGES*PAGE_SIZE; |
177 |
stack_base = IA32_STACK_TOP - MAX_ARG_PAGES*PAGE_SIZE; |
| 170 |
|
178 |
|
|
Lines 188-194
Link Here
|
| 188 |
mpnt->vm_pgoff = 0; |
196 |
mpnt->vm_pgoff = 0; |
| 189 |
mpnt->vm_file = NULL; |
197 |
mpnt->vm_file = NULL; |
| 190 |
mpnt->vm_private_data = 0; |
198 |
mpnt->vm_private_data = 0; |
| 191 |
insert_vm_struct(current->mm, mpnt); |
199 |
if ((ret = insert_vm_struct(current->mm, mpnt))) { |
|
|
200 |
up_write(¤t->mm->mmap_sem); |
| 201 |
kmem_cache_free(vm_area_cachep, mpnt); |
| 202 |
return ret; |
| 203 |
} |
| 192 |
current->mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; |
204 |
current->mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; |
| 193 |
} |
205 |
} |
| 194 |
|
206 |
|