Received: by 10.223.176.5 with SMTP id f5csp449484wra; Fri, 9 Feb 2018 01:37:03 -0800 (PST) X-Google-Smtp-Source: AH8x224WAYn7IfitwasQ1gD/8iAMBxTC8lLaT2O7T0GuBTmoIEJXjO49W8ziqz0nwx+iRxz0YxAG X-Received: by 10.101.87.132 with SMTP id b4mr1868656pgr.332.1518169023094; Fri, 09 Feb 2018 01:37:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518169023; cv=none; d=google.com; s=arc-20160816; b=Z18ueKBXN4WPr7JXdeUv2sHazMjrQ1sg5PUvMAgf/UXpiokv55u0zrMfkowDQF3JQj baIVD72S16qZJcIcRUcHaWKXCTBuazITQ2MyWSg7rfsWxgRbQC9Lmst2LMgrRsP7QsIW XfHHHd6wYw9HnUtHtBNMNj7WWmOjmRpGvQe+VQUB62yYZvU1OdReB+8hGxZOo6WtIF4g CRB7DDif3+S+FxKu7xgtck3K8hAOfqROPUoAVJiorCP2B5B6WyobAhBeLnRGL49Q/6N6 Qty9nAimL2y/qiFJNR81+WKW93p6vePh4YXJ48ljxqzIJiclxmxeWbnALTtLfN/zbeyB FTCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=kqT+xs1h0YBF59TsgWukt4ky2noFJrr8eyw6YG++EPc=; b=gTUq+rEXiFwVQ7mC6I8ovoM1OVoosUIt3SNVX2TKgo/Ni9nLCYssztXc/3d/PG3126 qvp6qNcdJH2IJh69JQ0ifm0LHf2zH+gb3RBCTUg6q6kgPLehaTNTAr2fWPiFiOkn/gYh VU5I+9HlrCP9V4HH22AUPdxayf9CbiiagQsBEMgHwy/oTiAVIqwA5aw33Ovci4lxZVvn 5YlEyd3dDO8LcdnUomm8ZBNXTeZ4VvWVlVuCW7Yvbf2TG+71xcpGc3GGq8Ix+pBnx+As /mcL4XdXEFOJAxhflM073r6ypBBLAaeXxS95a7R36JRDaP76XhIXsz8/lliaQU66iITd jm0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@8bytes.org header.s=mail-1 header.b=BoazetOs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t4si1140546pgc.108.2018.02.09.01.36.44; Fri, 09 Feb 2018 01:37:03 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail (test mode) header.i=@8bytes.org header.s=mail-1 header.b=BoazetOs; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752747AbeBIJby (ORCPT + 99 others); Fri, 9 Feb 2018 04:31:54 -0500 Received: from 8bytes.org ([81.169.241.247]:42996 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752229AbeBIJ0E (ORCPT ); Fri, 9 Feb 2018 04:26:04 -0500 Received: by theia.8bytes.org (Postfix, from userid 1000) id B98BF925; Fri, 9 Feb 2018 10:25:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=8bytes.org; s=mail-1; t=1518168354; bh=z+g21E8DQKko2ZqUUoWjwPhKDrtS0ByfZvN8yKAeKnw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BoazetOspqC11N09o7enXsSxzFJpkMAIGEeDP5W/QQOTwUz4xL7fceG8I0PeinUos 6y/A3hyh/2yRqsyLz2qZ5iDLh4MWDtiWJCMHz963FWdv/u4Whh2yYxx62vvju6ZfQx Y9mgQCQUKsn08Qo1dCctXuiPAmNc1bMI1QSJegQ9+r5voPPemizBiKGopZ3uW57OLo wfkkggDFHPvzhZaHUzfLIfwOnWepWvI0JdDADOjd0RZH1MkYFusbdkfyNXWYOcqdxh aVZn5dfyo+MVBgwK7aS9QojsprUDo3WYdBxKW0Sr18/PnVQAdxZ3oKbqHLzDRcqdB5 WwZk/CsBP5ivw== From: Joerg Roedel To: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" Cc: x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Linus Torvalds , Andy Lutomirski , Dave Hansen , Josh Poimboeuf , Juergen Gross , Peter Zijlstra , Borislav Petkov , Jiri Kosina , Boris Ostrovsky , Brian Gerst , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , Will Deacon , aliguori@amazon.com, daniel.gruss@iaik.tugraz.at, hughd@google.com, keescook@google.com, Andrea Arcangeli , Waiman Long , Pavel Machek , jroedel@suse.de, joro@8bytes.org Subject: [PATCH 22/31] x86/mm/pti: Add an overflow check to pti_clone_pmds() Date: Fri, 9 Feb 2018 10:25:31 +0100 Message-Id: <1518168340-9392-23-git-send-email-joro@8bytes.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518168340-9392-1-git-send-email-joro@8bytes.org> References: <1518168340-9392-1-git-send-email-joro@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel The addr counter will overflow if we clone the last PMD of the address space, resulting in an endless loop. Check for that and bail out of the loop when it happens. Signed-off-by: Joerg Roedel --- arch/x86/mm/pti.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c index ce38f16..7f5e698 100644 --- a/arch/x86/mm/pti.c +++ b/arch/x86/mm/pti.c @@ -282,6 +282,10 @@ pti_clone_pmds(unsigned long start, unsigned long end, pmdval_t clear) p4d_t *p4d; pud_t *pud; + /* Overflow check */ + if (addr < start) + break; + pgd = pgd_offset_k(addr); if (WARN_ON(pgd_none(*pgd))) return; -- 2.7.4