From patchwork Wed Jul 26 14:28:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Binglei Wang X-Patchwork-Id: 126425 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp455696vqo; Wed, 26 Jul 2023 07:51:17 -0700 (PDT) X-Google-Smtp-Source: APBJJlH2jNwWFB0S+HnUFvGqNPmIueJb7HOT7g20/OB2W8STwmnRd8ICZ2/bCvKAisysDlWZdEid X-Received: by 2002:a05:6358:7f14:b0:139:71af:ed0f with SMTP id p20-20020a0563587f1400b0013971afed0fmr841900rwn.1.1690383076979; Wed, 26 Jul 2023 07:51:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690383076; cv=none; d=google.com; s=arc-20160816; b=BoKleJEJ5i7OBMOuLQ7TcvGtrdVtKB/nuJNnHCv+Ety50zq9RcGIeYf1exM5a2jh9q E6QnvntwXvXySuuIRDGakD7BTxvUp6/1Y+LpH62op30LJHOasmtQ8paFTvLBB0sUs0gt Fi7lsiUr1mSOaqZ5hNd2Fy0hUy+EzJ1GfzTeox5ix35HkenOofNIBpxMHEy4v3I2W4RM GXS4csPTmAPclIEfDs9VKInDvmae2P+FVUmqmQNQ6V+0+0McUFtGMlRDMDD/islB50nO 8GwM6eQlqE9j9hGY1rhhQLGILUsNiU1pr4Q1/D6dVer3wOb3xU2pMCfg/bZDppnWpOmY aatg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=iCvX+WYhj5dekGw4g3WHkvBAMFYYr8sXX+D13FHMfqA=; fh=11lMNcOeqCZodxavWUwntGt3EqXl+qjB7H/8A+5dkJg=; b=Fb2UKaz38VcynrXXaEonokHNOE609O6lCAfk6I3uixOOYs6gvWwFjEzObI5ld/ejVb lzEiPqSP9wjugwKXUsjSMd4KvxulI62aQv59moG+sCji6ZHLEWlai7MppddWkqcxSqLJ s3Bci5KXHE9PVEy+017dXgkLULwGqEMaCkAsuVVXrR1xkmsuIAAA7Wo5MMDqhjL44e4p SwAcKanF0HlMHCxU6DedfCfhqlpxD8xCApOrq03wBYoQqPmVyF9AsKPYflN2SrLN9pcP dBpIXwJaeAY0BxUTdiugqCm71zHwpFuYmCywpq01m5ha7UM2yENDOL2b0z2vE/0NPGEu ml6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=f3dsw2E2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b9-20020a633409000000b00563e904db64si921334pga.385.2023.07.26.07.51.03; Wed, 26 Jul 2023 07:51:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=f3dsw2E2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234527AbjGZO2h (ORCPT + 99 others); Wed, 26 Jul 2023 10:28:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234502AbjGZO2e (ORCPT ); Wed, 26 Jul 2023 10:28:34 -0400 Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 13D29B4 for ; Wed, 26 Jul 2023 07:28:34 -0700 (PDT) Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1bb119be881so51637415ad.3 for ; Wed, 26 Jul 2023 07:28:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690381713; x=1690986513; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=iCvX+WYhj5dekGw4g3WHkvBAMFYYr8sXX+D13FHMfqA=; b=f3dsw2E2l/B/cUFrODAkpl1M5OV5n27zUh0TtgO7ZVOPLJBKhFVIHjs+5JB8zmB1sy suMKD2y9b0K4Ha7tTHZvAiIupK8FK/ggWg/Y/T30voOfQE9nbUOygUDJCgwPnd9DaIW0 rhc9Adfd7VRJR1ip84y2Y9F6pTcDx/3FbWxuI328R3IufSOP7emgXXaTsXCpvClztO8N aRpojkWDoGwkSrT36kghgwaJJfpZGLPkmeYyuHoXHAUu5yuqOu0HgxFmePOJ4EqIWhZz Vhs8N0aW0sG9/G/EVh3bo2AgKnFWIkcRjAzq950BlbibwDQSRCzGe3ZTXQMRBGglcWzq pD9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690381713; x=1690986513; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=iCvX+WYhj5dekGw4g3WHkvBAMFYYr8sXX+D13FHMfqA=; b=ETVQJy2L45w+HZOfGfjW/EAH134ydhU/dfEmXI2guTVT31CGJKjkjy3AWcHWD2Tw5s YNDcPoOh6I8RTA7+SCayP7x8miuRNTDuHSiagSUX8K2CMXzk7S+5FcNa9gJvTiV4F8Qs cWNWDlEWevYVh6gLWL03QnkeEpRQ+jm2WOpZcI6O2bMRE/fXz85pkAzOovKWc7Z5mPdO C4t0YTrBVf2474oGNQj+z8AWFD++HmJ3VTq3W0rr26DNOvLtuaYBZDWk4QdCCYri6sAd xWtF/PTmLv2sAorYF1d/S1zI0TGuPnd3iu3XOPeuYP3htLrJIH9iZxLfaYw0j9DLXg0+ +d0Q== X-Gm-Message-State: ABy/qLaJOUFgWDLTQ3agRH4bg8bQE1rBborDtiOwtKqQdR0DmO4/bC4A kXA9xjeteEIHq2UXWUstx9c= X-Received: by 2002:a17:902:ec8c:b0:1ab:11c8:777a with SMTP id x12-20020a170902ec8c00b001ab11c8777amr2739116plg.13.1690381713404; Wed, 26 Jul 2023 07:28:33 -0700 (PDT) Received: from linux.. (static.111.40.78.5.clients.your-server.de. [5.78.40.111]) by smtp.gmail.com with ESMTPSA id g4-20020a170902c38400b001b8b26fa6a9sm2189312plg.19.2023.07.26.07.28.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jul 2023 07:28:32 -0700 (PDT) From: Binglei Wang X-Google-Original-From: Binglei Wang To: hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org, l3b2w1@gmail.com Subject: [PATCH v3] cma: check for memory region overlapping Date: Wed, 26 Jul 2023 22:28:23 +0800 Message-Id: <20230726142823.6356-1-l3b2w1@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772495125476266974 X-GMAIL-MSGID: 1772495125476266974 From: Binglei Wang In the process of parsing the DTS, checks whether the memory region specified by the DTS CMA node area overlaps with the kernel text memory space reserved by memblock before calling early_init_fdt_scan_reserved_mem. Maybe it's better to have some warning prompts printed. Signed-off-by: Binglei Wang --- Notes: v3: fix compile error. v2: delete the logic code for handling return -EBUSY. v1: return -EBUSY when detect overlapping and handle the return case. kernel/dma/contiguous.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c index 6ea80ae42..dc6d2af1e 100644 --- a/kernel/dma/contiguous.c +++ b/kernel/dma/contiguous.c @@ -410,6 +410,11 @@ static int __init rmem_cma_setup(struct reserved_mem *rmem) return -EBUSY; } + if (memblock_is_region_reserved(rmem->base, rmem->size)) { + pr_info("Reserved memory: overlap with other memblock reserved region\n"); + return -EBUSY; + } + if (!of_get_flat_dt_prop(node, "reusable", NULL) || of_get_flat_dt_prop(node, "no-map", NULL)) return -EINVAL;