From patchwork Mon Dec 4 14:36:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Popovych X-Patchwork-Id: 844277 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=kvm-ppc-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yr6rt33xlz9t8J for ; Tue, 5 Dec 2017 01:36:46 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754159AbdLDOgp (ORCPT ); Mon, 4 Dec 2017 09:36:45 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44960 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753517AbdLDOgo (ORCPT ); Mon, 4 Dec 2017 09:36:44 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 699503D96E; Mon, 4 Dec 2017 14:36:44 +0000 (UTC) Received: from tuxracer.localdomain (dhcp7-133.lab.eng.rdu.redhat.com [10.12.7.133]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 344196F92A; Mon, 4 Dec 2017 14:36:43 +0000 (UTC) From: Serhii Popovych To: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, michael@ellerman.id.au, paulus@samba.org, linuxppc-dev@lists.ozlabs.org, david@gibson.dropbear.id.au Subject: [PATCH v2 0/2] Fix use after free in HPT resizing code and related minor improvements Date: Mon, 4 Dec 2017 09:36:40 -0500 Message-Id: <1512398202-8195-1-git-send-email-spopovyc@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 04 Dec 2017 14:36:44 +0000 (UTC) Sender: kvm-ppc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm-ppc@vger.kernel.org It is possible to trigger use after free during HPT resize causing host kernel to crash. More details and analysis of the problem can be found in change with corresponding subject (KVM: PPC: Book3S HV: Fix use after free in case of multiple resize requests). We need some changes to prepare for the fix, especially make ->error in HPT resize instance single point for tracking allocation state. See individual commit description message to get more information on changes presented. v2: Serhii Popovych: Tested with current 4.15-rc2 as host kernel on P8 with same testcase as for v1: no problems so far. Serhii Popovych (2): KVM: PPC: Book3S HV: Drop prepare_done from struct kvm_resize_hpt and cleanups KVM: PPC: Book3S HV: Fix use after free in case of multiple resize requests arch/powerpc/kvm/book3s_64_mmu_hv.c | 84 +++++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 27 deletions(-)