From patchwork Tue May 14 12:24:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 164189 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp2555275ili; Tue, 14 May 2019 05:26:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwUzKJvaGEOtlnBiRAPqZbxsXd69MtGBGZ6Vs+Hoi57uz/peQQooTdvCjmwmWipkGMPMVz5 X-Received: by 2002:a24:4210:: with SMTP id i16mr3151558itb.37.1557836782740; Tue, 14 May 2019 05:26:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557836782; cv=none; d=google.com; s=arc-20160816; b=EjSOqG5Nvt2aoO7x/I1MYCsS4vtQvknFMWMdUbZeLRc/nhN/KbJWMFswPBb4FvZcaC //ax5YjutovogcUaJoIrCgnZizhmgOfOX2cxznperITmxCjI/lTDl/n6qF1/9LVUP/fo VAfND5uys2+RFEIIgZ8IavCNktzBZHjLR4SDsOO2ak6h984dMaIbNQ0j8fqvmhq9sC2I luW4YfvIBqYzV/N8xoJzqKqsYTBaIZ3boYZYE7+doXsY2UI/S9BWU7mpEv/E7e/ztO0F ucy7qHP4FhpXybN6JX1Pu8ua4RXQn9GZWsBw3E1vcMIGmspsch1KWxlLe9JUFTgGhqnC q86Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:references:in-reply-to:message-id:date:to:from; bh=Py+BjY5hw5qju9cux+1+KLgu52CoNyXrmrwH3H0tjNE=; b=cJ9WY/iD3vNS7XuETA2mD4Tg/vWiyfClfoJUPZ6te0GwM3QcotiWTyh7j3bHYtujPW Gv0qmaVtZszYUKSI1mHjTriaVfCwIBlnwaQLPEP3T8FxNFAJUXSnRP0a1L0cwtHZDF9B /335huFApMsdjl5RviZl06d6nJHu7HX2nKkIANUqITaHphszNxZ4xEsbS6qWTWyEQrW6 ptjsgNUsZbfQTt8PTqY07sddWRR7bxzwVfZ9yIMSO6oznX5HBi3fSmODaL7qTsw+CaWN 9efKFwCz9pU08jPL6/6fm93ALPSRAon76R/MA5HolJIqYCk2kbuOwVKwfPtZVs6sPUOJ fN8A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id f184si1364911itd.66.2019.05.14.05.26.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 14 May 2019 05:26:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hQWUu-00034t-0n; Tue, 14 May 2019 12:25:32 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hQWUs-00031z-Li for xen-devel@lists.xenproject.org; Tue, 14 May 2019 12:25:30 +0000 X-Inumbo-ID: 5befe1c5-7643-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.101.70]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id 5befe1c5-7643-11e9-8980-bc764e045a96; Tue, 14 May 2019 12:25:28 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C2A60341; Tue, 14 May 2019 05:25:28 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.196.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8F48F3F71E; Tue, 14 May 2019 05:25:27 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Tue, 14 May 2019 13:24:55 +0100 Message-Id: <20190514122456.28559-19-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190514122456.28559-1-julien.grall@arm.com> References: <20190514122456.28559-1-julien.grall@arm.com> Subject: [Xen-devel] [PATCH MM-PART2 RESEND v2 18/19] xen/arm: mm: Check start is always before end in {destroy, modify}_xen_mappings X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Oleksandr_Tyshchenko@epam.com, Julien Grall , Stefano Stabellini , Andrii Anisov MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" The two helpers {destroy, modify}_xen_mappings don't check that the start is always before the end. This should never happen but if it happens, it will result to unexpected behavior. Catch such issues earlier on by adding an ASSERT in destroy_xen_mappings and modify_xen_mappings. Signed-off-by: Julien Grall Reviewed-by: Andrii Anisov Acked-by: Stefano Stabellini --- Changes in v2: - Add Andrii's reviewed-by --- xen/arch/arm/mm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index eacc1647e0..b408de7c75 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -1077,11 +1077,13 @@ int populate_pt_range(unsigned long virt, unsigned long nr_mfns) int destroy_xen_mappings(unsigned long v, unsigned long e) { + ASSERT(v <= e); return create_xen_entries(REMOVE, v, INVALID_MFN, (e - v) >> PAGE_SHIFT, 0); } int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags) { + ASSERT(s <= e); return create_xen_entries(MODIFY, s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags); }