From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751531AbdJWLKL (ORCPT ); Mon, 23 Oct 2017 07:10:11 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:32984 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751297AbdJWLKJ (ORCPT ); Mon, 23 Oct 2017 07:10:09 -0400 Subject: Re: [PATCH 0/2] KVM: fixes for the kernel-hardening tree To: David Hildenbrand , Paolo Bonzini , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: kernel-hardening@lists.openwall.com, Kees Cook , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Christoffer Dall , Marc Zyngier , Cornelia Huck , James Hogan , Paul Mackerras References: <20171020232525.7387-1-pbonzini@redhat.com> From: Christian Borntraeger Date: Mon, 23 Oct 2017 13:10:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 17102311-0040-0000-0000-000003E5E2BD X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17102311-0041-0000-0000-000025E84A43 Message-Id: <2a38de15-4378-d766-0f12-0d29ac17b264@de.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-10-23_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1710230161 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/23/2017 11:52 AM, David Hildenbrand wrote: > On 21.10.2017 01:25, Paolo Bonzini wrote: >> Two KVM ioctls (KVM_GET/SET_CPUID2) directly access the cpuid_entries >> field of struct kvm_vcpu_arch. Therefore, the new usercopy hardening >> work in linux-next, which forbids copies from and to slab objects >> unless they are from kmalloc or explicitly whitelisted, breaks KVM >> completely. >> >> This series fixes it by adding the two new usercopy arguments >> to kvm_init (more precisely to a new function kvm_init_usercopy, >> while kvm_init passes zeroes as a default). >> >> There's also another broken ioctl, KVM_XEN_HVM_CONFIG, but it is >> obsolete and not a big deal at all. >> >> I'm Ccing all submaintainers in case they have something similar >> going on in their kvm_arch and kvm_vcpu_arch structs. KVM has a >> pretty complex userspace API, so thorough with linux-next is highly >> recommended. > > I assume on s390x, at least > > kvm_arch_vcpu_ioctl_get_one_reg() and > kvm_arch_vcpu_ioctl_set_one_reg() > > have to be fixed. > > Christian, are you already looking into this? Not yet. I am in preparation for travel. > >> >> Many thanks to Thomas Gleixner for reporting this to me. >> >> Paolo >> >> Paolo Bonzini (2): >> KVM: allow setting a usercopy region in struct kvm_vcpu >> KVM: fix KVM_XEN_HVM_CONFIG ioctl >> >> arch/x86/include/asm/kvm_host.h | 3 +++ >> arch/x86/kvm/svm.c | 4 ++-- >> arch/x86/kvm/vmx.c | 4 ++-- >> arch/x86/kvm/x86.c | 17 ++++++++++++++--- >> include/linux/kvm_host.h | 13 +++++++++++-- >> virt/kvm/kvm_main.c | 13 ++++++++----- >> 6 files changed, 40 insertions(+), 14 deletions(-) >> > >