Skip to content

Commit

Permalink
x86/vdso: Unmap vdso blob on vvar mapping failure
Browse files Browse the repository at this point in the history
If remapping of vDSO blob failed on vvar mapping,
we need to unmap previously mapped vDSO blob.

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Acked-by: Andy Lutomirski <luto@kernel.org>
Cc: 0x7f454c46@gmail.com
Cc: oleg@redhat.com
Cc: linux-mm@kvack.org
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-2-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Dmitry Safonov authored and Thomas Gleixner committed Sep 14, 2016
1 parent 9395452 commit e38447e
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions arch/x86/entry/vdso/vma.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,12 +238,14 @@ static int map_vdso(const struct vdso_image *image, bool calculate_addr)

if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
goto up_fail;
do_munmap(mm, text_start, image->size);
}

up_fail:
if (ret)
if (ret) {
current->mm->context.vdso = NULL;
current->mm->context.vdso_image = NULL;
}

up_write(&mm->mmap_sem);
return ret;
Expand Down

0 comments on commit e38447e

Please sign in to comment.