summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorVasiliy Kulikov <segooon@gmail.com>2010-10-30 11:04:24 +0200
committerMarcelo Tosatti <mtosatti@redhat.com>2010-11-05 17:42:26 +0100
commitd8cdddcd645766cd4d80fa222226ae6ebfb706af (patch)
tree5f439c89be44bf2bcccdb745a5c37824d5a1ee67 /arch
parentKVM: MMU: fix rmap_remove on non present sptes (diff)
downloadlinux-d8cdddcd645766cd4d80fa222226ae6ebfb706af.tar.xz
linux-d8cdddcd645766cd4d80fa222226ae6ebfb706af.zip
KVM: PPC: fix information leak to userland
Structure kvm_ppc_pvinfo is copied to userland with flags and pad fields unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kvm/powerpc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 2f87a1627f6c..38f756f25053 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -617,6 +617,7 @@ long kvm_arch_vm_ioctl(struct file *filp,
switch (ioctl) {
case KVM_PPC_GET_PVINFO: {
struct kvm_ppc_pvinfo pvinfo;
+ memset(&pvinfo, 0, sizeof(pvinfo));
r = kvm_vm_ioctl_get_pvinfo(&pvinfo);
if (copy_to_user(argp, &pvinfo, sizeof(pvinfo))) {
r = -EFAULT;