Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp3999825pxu; Tue, 20 Oct 2020 06:10:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxmIsKThb++8+br/o7Pxpr6+3yQmkBSVdFTB1QUv0mrS3JKijFVrw+97o1CFrObg8Rc3MqN X-Received: by 2002:ac2:53b9:: with SMTP id j25mr960660lfh.457.1603198969931; Tue, 20 Oct 2020 06:02:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603198969; cv=none; d=google.com; s=arc-20160816; b=X5854L5GgtAl54GXqydLOQSNz/SHvg28q2GZDPPb95AAOHdI/inoDLUodw79Xzp9oS 3RP0u8/PyrVJky8jWE/ysGlD1+h8a8H5t8Bv1YEytaUO4o+i3d6vYdLUoi3d34zv5+Eb R0pTf+V4WCx7KWSHY+m1O1r3sI+BTsugPuvXEhN4uoNySaWm7vcrygKbioV6cJGxIp0F JBlECPd5K9vzNk8l/bzBjf5tvfw7buWigLAdg3qPsBmE+pS9cf51uVHcLjQyAqCHuDsP uQuIvtPWPEot3QxpRYryVCSULbAFvq1C9r736PclxgPoyvS/EzEZwu2OQfzwEnG+PF8n oxUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=20ir6sIc424NTk2QRE/bZm+Fz/uzC+MXCZJ88/lxd7I=; b=h+YBYMQWcqCFomlfu/0HSkkxj9P9dMHFetwW8vn8cqG/ipFWZFhtaRVdlZbfX33gQO InAtMUEAzoN/zVUGUfELeaKjWJPQRBoSf6d6T9QusEqvGGDojhUsLLTVfsCgnXqIL/JM SjJZD8VUVNGLSNN/K9CcX50KeSWF4RyFoIQb0h4nX7KeZmqUWBIhP5i1xvINHf4ZVm7A ReL5zTB2AHcnIOFaYeBSzxDQqlrnc2bKljiUNR080jZZg60h1/t4SBGneQAaAPgqcfqa JIT32/Sw/3o8JdPkKUQB7Efl+nqkMtOlMNpxglLTJIPZSeUnrIRewQvG8C5Sw79uuyrM 6pzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pDLMXNOR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qt11si1280211ejb.665.2020.10.20.06.02.25; Tue, 20 Oct 2020 06:02:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pDLMXNOR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2407133AbgJTNAs (ORCPT + 99 others); Tue, 20 Oct 2020 09:00:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:56148 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406897AbgJTNA0 (ORCPT ); Tue, 20 Oct 2020 09:00:26 -0400 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0C6B1224B1; Tue, 20 Oct 2020 13:00:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603198826; bh=YS3R/r9BSCkgWKpofPP6Fiv0wMZ19e5Knq/avoUuwK8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=pDLMXNORO5HWkh80eVTzM6+5IT1LhcN6Qt/Xl5opCpSpPHIPhxHsByOByLOUhnUjS xZG49NtLH5VVgVgy2i5zPaFd5cT/TDMekdzkjTo9oMv8w82zgGcTlVR00Bcz1mKGFD 2FNcdVTpsah+9F5+/Sk5COkS/L1aroHU8EPpXNpA= Received: by mail-oi1-f181.google.com with SMTP id m128so2018524oig.7; Tue, 20 Oct 2020 06:00:26 -0700 (PDT) X-Gm-Message-State: AOAM533bIca1Sz99JPaHnGyMUTnE5OJU8jKkILnxnfp5UzhK4GzoT2f4 99c4XaPvVTgjMH3qI+gVOJHPQDNaBo7EWwzxFg== X-Received: by 2002:a05:6808:10e:: with SMTP id b14mr1771142oie.152.1603198825256; Tue, 20 Oct 2020 06:00:25 -0700 (PDT) MIME-Version: 1.0 References: <20201020073558.3582-1-vincent.whitchurch@axis.com> In-Reply-To: <20201020073558.3582-1-vincent.whitchurch@axis.com> From: Rob Herring Date: Tue, 20 Oct 2020 08:00:14 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] of: Fix reserved-memory overlap detection To: Vincent Whitchurch Cc: Frank Rowand , kernel@axis.com, Mitchel Humpherys , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 20, 2020 at 2:36 AM Vincent Whitchurch wrote: > > The reserved-memory overlap detection code fails to detect overlaps if > either of the regions starts at address 0x0. For some reason the code > explicitly checks for and ignores such regions, but this check looks > invalid. Remove the check and fix this detection. Wouldn't 'base' be 0 for nodes that have a 'size' and no address? The base in those cases isn't set until later when __reserved_mem_alloc_size() is called. > > For example, no overlap is currently reported for this case: > > foo@0 { > reg = <0x0000 0x2000>; > }; > > bar@1000 { > reg = <0x1000 0x1000>; > }; > > but it is after this patch: > > OF: reserved mem: OVERLAP DETECTED! > foo@0 (0x00000000--0x00002000) overlaps with bar@1000 (0x00001000--0x00002000) > > Signed-off-by: Vincent Whitchurch > --- > drivers/of/of_reserved_mem.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c > index 46b9371c8a33..1c5259e3e81f 100644 > --- a/drivers/of/of_reserved_mem.c > +++ b/drivers/of/of_reserved_mem.c > @@ -217,8 +217,7 @@ static void __init __rmem_check_for_overlap(void) > > this = &reserved_mem[i]; > next = &reserved_mem[i + 1]; > - if (!(this->base && next->base)) > - continue; > + > if (this->base + this->size > next->base) { > phys_addr_t this_end, next_end; > > -- > 2.28.0 >