diff options
-rw-r--r-- | drivers/staging/android/binder.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c index 574e99210c3..b9a534c46aa 100644 --- a/drivers/staging/android/binder.c +++ b/drivers/staging/android/binder.c | |||
@@ -2793,6 +2793,9 @@ static int binder_mmap(struct file *filp, struct vm_area_struct *vma) | |||
2793 | const char *failure_string; | 2793 | const char *failure_string; |
2794 | struct binder_buffer *buffer; | 2794 | struct binder_buffer *buffer; |
2795 | 2795 | ||
2796 | if (proc->tsk != current) | ||
2797 | return -EINVAL; | ||
2798 | |||
2796 | if ((vma->vm_end - vma->vm_start) > SZ_4M) | 2799 | if ((vma->vm_end - vma->vm_start) > SZ_4M) |
2797 | vma->vm_end = vma->vm_start + SZ_4M; | 2800 | vma->vm_end = vma->vm_start + SZ_4M; |
2798 | 2801 | ||
@@ -2857,7 +2860,7 @@ static int binder_mmap(struct file *filp, struct vm_area_struct *vma) | |||
2857 | binder_insert_free_buffer(proc, buffer); | 2860 | binder_insert_free_buffer(proc, buffer); |
2858 | proc->free_async_space = proc->buffer_size / 2; | 2861 | proc->free_async_space = proc->buffer_size / 2; |
2859 | barrier(); | 2862 | barrier(); |
2860 | proc->files = get_files_struct(proc->tsk); | 2863 | proc->files = get_files_struct(current); |
2861 | proc->vma = vma; | 2864 | proc->vma = vma; |
2862 | proc->vma_vm_mm = vma->vm_mm; | 2865 | proc->vma_vm_mm = vma->vm_mm; |
2863 | 2866 | ||