Patch "KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM" has been added to the 4.13-stable tree
Subsystems (3)
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
ac64115a66c18c01745bbd3c47a36b124e5fd8c0Mon 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.
--- 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(structbreak ;#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