The mmap_sem is downed in vvp_mmap_locks, but in case of
error from cl_io_lock_alloc_add, it is not upped.
Credit to Paul Casella at Cray for finding this.
Signed-off-by: Patrick Farrell <paf@cray.com>
Change-Id: If172e7cb4c4e6400143d76eee8aa595ae767a20c
Reviewed-on: http://review.whamcloud.com/10741
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
descr->cld_mode, descr->cld_start,
descr->cld_end);
descr->cld_mode, descr->cld_start,
descr->cld_end);
- if (result < 0)
- RETURN(result);
+ if (result < 0) {
+ up_read(&mm->mmap_sem);
+ RETURN(result);
+ }
if (vma->vm_end - addr >= count)
break;
if (vma->vm_end - addr >= count)
break;