KVM: PPC: Book3S HV: Fix kvm_alloc_linear in case where no linears exist
authorPaul Mackerras <paulus@samba.org>
Fri, 3 Feb 2012 00:45:02 +0000 (00:45 +0000)
committerPaul Mackerras <paulus@samba.org>
Tue, 3 Apr 2012 06:42:22 +0000 (16:42 +1000)
commitb4e51229d8a1e499fe65153766437152cca42053
tree3aec12257db287a7a05b4a416b5e5b50702587fb
parentb8e6f8ae511d88732247aa2af26bfd1bef21b2f4
KVM: PPC: Book3S HV: Fix kvm_alloc_linear in case where no linears exist

In kvm_alloc_linear we were using and deferencing ri after the
list_for_each_entry had come to the end of the list.  In that
situation, ri is not really defined and probably points to the
list head.  This will happen every time if the free_linears list
is empty, for instance.  This led to a NULL pointer dereference
crash in memset on POWER7 while trying to allocate an HPT in the
case where no HPTs were preallocated.

This fixes it by using a separate variable for the return value
from the loop iterator.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kvm/book3s_hv_builtin.c