aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kvm/book3s_64_mmu_hv.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c
index 41f96c51dfca..59425f143c6d 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
@@ -1542,9 +1542,15 @@ static ssize_t kvm_htab_write(struct file *file, const char __user *buf,
1542 hptp = (__be64 *)(kvm->arch.hpt_virt + (i * HPTE_SIZE)); 1542 hptp = (__be64 *)(kvm->arch.hpt_virt + (i * HPTE_SIZE));
1543 lbuf = (unsigned long __user *)buf; 1543 lbuf = (unsigned long __user *)buf;
1544 for (j = 0; j < hdr.n_valid; ++j) { 1544 for (j = 0; j < hdr.n_valid; ++j) {
1545 __be64 hpte_v;
1546 __be64 hpte_r;
1547
1545 err = -EFAULT; 1548 err = -EFAULT;
1546 if (__get_user(v, lbuf) || __get_user(r, lbuf + 1)) 1549 if (__get_user(hpte_v, lbuf) ||
1550 __get_user(hpte_r, lbuf + 1))
1547 goto out; 1551 goto out;
1552 v = be64_to_cpu(hpte_v);
1553 r = be64_to_cpu(hpte_r);
1548 err = -EINVAL; 1554 err = -EINVAL;
1549 if (!(v & HPTE_V_VALID)) 1555 if (!(v & HPTE_V_VALID))
1550 goto out; 1556 goto out;