diff options
| author | Kukjin Kim <kgene.kim@samsung.com> | 2012-05-12 18:53:34 -0400 |
|---|---|---|
| committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-05-12 18:53:34 -0400 |
| commit | 163ec0369be4c26e68385f6cec88d0ee38c8d8e5 (patch) | |
| tree | f3e441866f8bc1b0548e7d8eddd9548b6aedef5e /fs/binfmt_som.c | |
| parent | 199642bfe107c411f25fbfc16c9fd49cfef9785d (diff) | |
| parent | 99dbdd98f271899e023d52b3f4c2bf67cdd7eb56 (diff) | |
Merge branch 'next/cleanup-plat-s3c24xx' into next/cleanup-plat-s3c24xx-s5p
Diffstat (limited to 'fs/binfmt_som.c')
| -rw-r--r-- | fs/binfmt_som.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/binfmt_som.c b/fs/binfmt_som.c index e4fc746629a7..4517aaff61b4 100644 --- a/fs/binfmt_som.c +++ b/fs/binfmt_som.c | |||
| @@ -147,10 +147,8 @@ static int map_som_binary(struct file *file, | |||
| 147 | code_size = SOM_PAGEALIGN(hpuxhdr->exec_tsize); | 147 | code_size = SOM_PAGEALIGN(hpuxhdr->exec_tsize); |
| 148 | current->mm->start_code = code_start; | 148 | current->mm->start_code = code_start; |
| 149 | current->mm->end_code = code_start + code_size; | 149 | current->mm->end_code = code_start + code_size; |
| 150 | down_write(¤t->mm->mmap_sem); | 150 | retval = vm_mmap(file, code_start, code_size, prot, |
| 151 | retval = do_mmap(file, code_start, code_size, prot, | ||
| 152 | flags, SOM_PAGESTART(hpuxhdr->exec_tfile)); | 151 | flags, SOM_PAGESTART(hpuxhdr->exec_tfile)); |
| 153 | up_write(¤t->mm->mmap_sem); | ||
| 154 | if (retval < 0 && retval > -1024) | 152 | if (retval < 0 && retval > -1024) |
| 155 | goto out; | 153 | goto out; |
| 156 | 154 | ||
| @@ -158,20 +156,16 @@ static int map_som_binary(struct file *file, | |||
| 158 | data_size = SOM_PAGEALIGN(hpuxhdr->exec_dsize); | 156 | data_size = SOM_PAGEALIGN(hpuxhdr->exec_dsize); |
| 159 | current->mm->start_data = data_start; | 157 | current->mm->start_data = data_start; |
| 160 | current->mm->end_data = bss_start = data_start + data_size; | 158 | current->mm->end_data = bss_start = data_start + data_size; |
| 161 | down_write(¤t->mm->mmap_sem); | 159 | retval = vm_mmap(file, data_start, data_size, |
| 162 | retval = do_mmap(file, data_start, data_size, | ||
| 163 | prot | PROT_WRITE, flags, | 160 | prot | PROT_WRITE, flags, |
| 164 | SOM_PAGESTART(hpuxhdr->exec_dfile)); | 161 | SOM_PAGESTART(hpuxhdr->exec_dfile)); |
| 165 | up_write(¤t->mm->mmap_sem); | ||
| 166 | if (retval < 0 && retval > -1024) | 162 | if (retval < 0 && retval > -1024) |
| 167 | goto out; | 163 | goto out; |
| 168 | 164 | ||
| 169 | som_brk = bss_start + SOM_PAGEALIGN(hpuxhdr->exec_bsize); | 165 | som_brk = bss_start + SOM_PAGEALIGN(hpuxhdr->exec_bsize); |
| 170 | current->mm->start_brk = current->mm->brk = som_brk; | 166 | current->mm->start_brk = current->mm->brk = som_brk; |
| 171 | down_write(¤t->mm->mmap_sem); | 167 | retval = vm_mmap(NULL, bss_start, som_brk - bss_start, |
| 172 | retval = do_mmap(NULL, bss_start, som_brk - bss_start, | ||
| 173 | prot | PROT_WRITE, MAP_FIXED | MAP_PRIVATE, 0); | 168 | prot | PROT_WRITE, MAP_FIXED | MAP_PRIVATE, 0); |
| 174 | up_write(¤t->mm->mmap_sem); | ||
| 175 | if (retval > 0 || retval < -1024) | 169 | if (retval > 0 || retval < -1024) |
| 176 | retval = 0; | 170 | retval = 0; |
| 177 | out: | 171 | out: |
