Skip to contentSkip to conversation

Patch "KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM" has been added to the 4.13-stable tree

PATCH [email protected] 1 participant 1 message Oct 30, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM

to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
kvm-ppc-fix-oops-when-checking-kvm_cap_ppc_htm.patch
and it can be found in the queue-4.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From ac64115a66c18c01745bbd3c47a36b124e5fd8c0 Mon Sep 17 00:00:00 2001

From: Greg Kurz <[email protected]>
Date: Thu, 14 Sep 2017 23:56:25 +0200
Subject: KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM

From: Greg Kurz <[email protected]>

commit ac64115a66c18c01745bbd3c47a36b124e5fd8c0 upstream.

The following program causes a kernel oops:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/kvm.h>

main()

{
    int fd = open("/dev/kvm", O_RDWR);
    ioctl(fd, KVM_CHECK_EXTENSION, KVM_CAP_PPC_HTM);
}

This happens because when using the global KVM fd with KVM_CHECK_EXTENSION, kvm_vm_ioctl_check_extension() gets called with a NULL kvm argument, which gets dereferenced in is_kvmppc_hv_enabled(). Spotted while reading the code.

Let's use the hv_enabled fallback variable, like everywhere else in this function.

Fixes 23528bb21ee2 ("KVM: PPC: Introduce KVM_CAP_PPC_HTM")
---
 arch/powerpc/kvm/powerpc.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
arch/powerpc/kvm/powerpc.c +1 -2
@@ -639,8 +639,7 @@ int kvm_vm_ioctl_check_extension(struct
 		break;
 #endif
 	case KVM_CAP_PPC_HTM:
-		r = cpu_has_feature(CPU_FTR_TM_COMP) &&
-		    is_kvmppc_hv_enabled(kvm);
+		r = cpu_has_feature(CPU_FTR_TM_COMP) && hv_enabled;
 		break;
 	default:
 		r = 0;

Patches currently in stable-queue which might be from [email protected] are

queue-4.13/kvm-ppc-fix-oops-when-checking-kvm_cap_ppc_htm.patch