On Wed 15-05-19 11:41:19, Konstantin Khlebnikov wrote:
> Ditto.

ditto to the previous patch, including -EINTR.

> 
> Signed-off-by: Konstantin Khlebnikov <[email protected]>
> ---
>  fs/proc/task_mmu.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> index 781879a91e3b..78bed6adc62d 100644
> --- a/fs/proc/task_mmu.c
> +++ b/fs/proc/task_mmu.c
> @@ -1547,7 +1547,9 @@ static ssize_t pagemap_read(struct file *file, char 
> __user *buf,
>               /* overflow ? */
>               if (end < start_vaddr || end > end_vaddr)
>                       end = end_vaddr;
> -             down_read(&mm->mmap_sem);
> +             ret = down_read_killable(&mm->mmap_sem);
> +             if (ret)
> +                     goto out_free;
>               ret = walk_page_range(start_vaddr, end, &pagemap_walk);
>               up_read(&mm->mmap_sem);
>               start_vaddr = end;

-- 
Michal Hocko
SUSE Labs

Reply via email to