aboutsummaryrefslogtreecommitdiff
path: root/virt/kvm
diff options
context:
space:
mode:
authorAndrey Ryabinin <a.ryabinin@samsung.com>2014-06-06 19:09:30 +0400
committerShow Liu <show.liu@linaro.org>2014-06-18 12:05:31 +0800
commit37b4a2965399a7f397ac080453fe6e031cfdb48e (patch)
treecc2e7b961ebb177319cfb755c5e3b00b392c3d2a /virt/kvm
parent5880749d5534dd03b5b9a0d216ae75d65c263cb7 (diff)
mm: rmap: fix use-after-free in __put_anon_vma
commit 624483f3ea82598ab0f62f1bdb9177f531ab1892 upstream. While working address sanitizer for kernel I've discovered use-after-free bug in __put_anon_vma. For the last anon_vma, anon_vma->root freed before child anon_vma. Later in anon_vma_free(anon_vma) we are referencing to already freed anon_vma->root to check rwsem. This fixes it by freeing the child anon_vma before freeing anon_vma->root. Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'virt/kvm')
0 files changed, 0 insertions, 0 deletions