From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2B50C6FD1F for ; Sat, 25 Mar 2023 06:26:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68CDA6B0075; Sat, 25 Mar 2023 02:26:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 63D046B007E; Sat, 25 Mar 2023 02:26:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 504766B0087; Sat, 25 Mar 2023 02:26:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 40CE46B0075 for ; Sat, 25 Mar 2023 02:26:12 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0B5481C0579 for ; Sat, 25 Mar 2023 06:26:12 +0000 (UTC) X-FDA: 80606435784.17.91EEC3E Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf08.hostedemail.com (Postfix) with ESMTP id 39E13160009 for ; Sat, 25 Mar 2023 06:26:10 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="MsM/Dt0+"; spf=pass (imf08.hostedemail.com: domain of jihongbin999@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=jihongbin999@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679725570; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ovgK8antSVfJGzYjs2xzQkce11kXm5N4wiQsWVLOSTs=; b=vjjrWd91dQi82Bc0n3nJVtMfFjJHutKuHyJH6040YFZ2vkk92OJZXL/nqVWBIROwiajzzx 8Y2qHpQ01NgEB0LNSjJBEP7nTf8yN1412+h0Zr1a1fJSxFlHkoFrZXmwR7WWEzVZxsnk9X ahxg9BEVh9Z+YI35z62aRdy///8+kS0= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="MsM/Dt0+"; spf=pass (imf08.hostedemail.com: domain of jihongbin999@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=jihongbin999@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679725570; a=rsa-sha256; cv=none; b=FV06Ff8PZz1pxcB+zt0wOTlo4dPocoW9ZW6acu/2mGOcSnEYEDL0y8PGIQqcSLC4c9i/Pa cw05/Ogw+qSlJxJEsZDS7WOGhKzdXT2R5JntsRsQpvtFRLnxwdMIPtgWfAtyCed+Trzbx+ mJtpOSwLCwpF2/92vT4MyRm7g4ZmmYA= Received: by mail-pl1-f180.google.com with SMTP id u10so3754137plz.7 for ; Fri, 24 Mar 2023 23:26:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679725569; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ovgK8antSVfJGzYjs2xzQkce11kXm5N4wiQsWVLOSTs=; b=MsM/Dt0+R+ZIxOgk2zcroYkU4vhohCcafFOzgRKWm/sKKjIAu0flXR+EbXyAKSM6T0 kWloCxql8bm55xy+EimtrUyZjsDMxNxkJHMptXml4WQNy3QRzqrnuqHYbPppxdoTqPCe GTRbjghuF5qVadXAflxI6I+IZXXfL34Dc2xeEOwdVgKaPJ+iGK2w5EcuCQTf2fP0JwCk Zi8owNtMVjPcIz7Jheda1S9QceUJ0w1Z0Dy16eWWp74gqujen4glJfL9/9GIy3GF+4RM MTExGyC6WaYtdsUGalRvV0j+NL37auHyTc0aUfzYT+B6QLYgjLI1eXTEpYlEwnzei56W 2PBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679725569; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ovgK8antSVfJGzYjs2xzQkce11kXm5N4wiQsWVLOSTs=; b=vQ0febLkuOkc1neb4a8mXcsgZNpZUXB9eq86uBPHX1sndde+pjQ0Cj+6rGxyBTTnfe LVHaS2edBEt6ScFTG92iN4NdRcZUKuAicRUGwJIGmJJm2Nq9KYGARvVy1XLZuEH7WD52 GwTvi75wpkp2rVZv5x6iERXfcVifWm+Lz2Hv4InAPasm2CWXKkJ4Kx1aVp9WIqknb2bD Akiv6WJ+tj4jCr09tUafvFcr4XTEc+Qr1MAGw8k1upTbcUfQM/FA3HqqiFbTW+/ICGxi tVuZL9ssF0L47tawQiYF8fGmbgARzBfQfSEcMWXhu3D329XvhQ3IzynxT9gMXtXg7EGx GCXw== X-Gm-Message-State: AAQBX9cG2MkdxXJ/o45ywoZIPyBz7GT9aYiui0JpG7YgT6zOV+hJQ0bJ QsDSKIxjnsaDb6pZ8hUVdfZ2nGoKzdDVqQ7lEis= X-Google-Smtp-Source: AKy350b3tbL0IlqcDEHW6gO3DFd9UZweAzaT18Rtq5FAO1tsmsDTGaQy876/Y+pHBpP7xdzN2i/oQYV7IneS6rOjt5g= X-Received: by 2002:a17:903:1c7:b0:1a2:185a:cd6 with SMTP id e7-20020a17090301c700b001a2185a0cd6mr1766516plh.4.1679725568975; Fri, 24 Mar 2023 23:26:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Hongbin Ji Date: Sat, 25 Mar 2023 14:25:58 +0800 Message-ID: Subject: Re: [PATCH] memblock: Make memblock memblock_dbg info handle overflowing range @base + @size To: Mike Rapoport Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 39E13160009 X-Stat-Signature: nacyq7uu89f1scgxycfthig41gf3w7z4 X-Rspam-User: X-HE-Tag: 1679725570-46641 X-HE-Meta: U2FsdGVkX1/I1P2nMUt5FEZfNcPI18x3UIZ3YFHTC3GIYLULDLpc044og+9baMRvTn7R9BoAGI1QN9ZLipchsZTwr/jEZbAEm857RH326oeCBEQ0zJazY6VoNwD/So6kTljYbl/VLjmEihKdJQ9JeqSowhSMFmEP9hiOREG2rzNkqex886Yg8nZ7hCv9fMQeNHztslrRtho+lt+QyiUYWTwfd7cxH+0ZCZM8sD0kEmmqkp4DPpfNFYr4L32buwZAOD6cNGJ0DfHIzKyCS7LF2bqWpLIThBHq1GI5B01yK6ewix4hgD49l90/fjxElfXrjKbtrwWLvo1DqF8uC/ZaYNvMoc9nnWagHtp5YNBPcMfZv3n6vQz/6licFkTLxWIFS4uuMueeYO+UAbtxJfND+bJg3+j5kazL6LktxVVbWplfQHnyvnRpiWxvN/AobXWZpnhJsOnXvVZrVsiBgvBnyP61D80EpfVpLtGLyKaed6P/8+nOLEpUDkPfUyJpfT9sUDM45i/JQ3g/u7cycOFltUwzL9ROfr/MwxN61ZkXCyYNKeEuXorWu8n9UXbliiJxI+JcnjDU+eQ0ndP70Fu7+ByYt14hFM0F3yPDKQKM3BoAXNT/r67EnCK+MykuowiQufUpFn/y8BhxapvUjAv1e2iLHIRE6xudMZzM6iDv8H2LCiAmdyz/GbQrMQFQ63ugvHAE0tjwkUuOJq5gJhmMCArTGPshGWGM0Au0NeaqI4dQ0gKbq5BDtDDRwxovyEJG+Xb5WaLkTpewvg5EBXiYh3MyVcC+vh0QpngK+zcuSYHrcIwd+iDE5V8O4k2Vk903N/gOVh/V4SLdEQNCgXpDJULIcCc6AyJKPth5yfH7yuWWR2FeI+JCPwqkO1Cy9KgpPx8fhtL+SOrvYmWnLpT1Qfwz59KXds3zuRzmuXxcduR6Vl50cuFem8R4wY2ra+hC4ECEsiSN25cI60pIUeS nn4HzDO0 P4mw3GbruhTLOV/r1/kVLmqPBgJMlwNYMpYG1sWjM4ZNHriB3ASsnWTmNSSkXVEGJLxJusdITvhCPS6aqhU9tnsBP4LzS8TwjJRU6slrAZYRdhO/y0AvzCmjqu93oiSsDogRvNEb5Qpd3xnya/Xr7bOQL+/CgeMBUIiGtv9lBgQho6CiDvmhPOgHGMkO+oSNPxJcF6sM/kAyLtS0FxtFpN/c8Afq7wOOHfL7UjNUNiFNfOEs0DIucscdxbzfrxQbp0FwxRpKvkq8oGQ/A3Vr2bRVaLUumCKKs02Iyub5OZtzhppLVYxA00oNIBA2KgEWnrcq4hBd40lWn3x2tIjL3qxqers+XmXgjH/XnXNJm5gTfkNgT/xXo+XQ1nRAv0ZFwKOq1cMIXiO2ZDxGI/fKLXCVG29fyY2OrpB+1qAirlS02PZm7PSCwCdPUMf8QIcRnLC7PLc+CN893ilKafimWF0enDreIeBZto3beN1QKtXJ9gVgOH1HTALmBHXsOPNsUmWBKt69Bx56oo8ylbfj14Y7fM55wZGjJFUev8ORddVzX2D0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: It is just to correct the information displayed by the debugging. The wrong information display is also a problem, but it is not a problem that affects the function Mike Rapoport =E4=BA=8E2023=E5=B9=B43=E6=9C=8825=E6=97=A5= =E5=91=A8=E5=85=AD 14:04=E5=86=99=E9=81=93=EF=BC=9A > > On Fri, Mar 24, 2023 at 04:15:13PM +0800, =E7=BA=AA=E5=AE=8F=E5=AE=BE wro= te: > > Allow memblock users to specify range where @base + @size overflows, > > This will cause the address range information in the debug output to > > be displayed incorrectly. > > Is there a real problem you are trying to solve? > > > For example, calling memblock_remove(1ULL << PHYS_MASK_SHIFT, > > ULLONG_MAX) in arch/arm64/mm/init.c, > > would be displayed as: > > [ 0.000000] memblock_remove: [0x0001000000000000-0x0000fffffffffffe] > > arm64_memblock_init+0x24/0x270 > > but we expect the output: > > [ 0.000000] memblock_remove: [0x0001000000000000-0xffffffffffffffff] > > arm64_memblock_init+0x24/0x270 > > > > Signed-off-by: Hongbin Ji > > --- > > mm/memblock.c | 14 +++++++------- > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/mm/memblock.c b/mm/memblock.c > > index 25fd0626a9e7..567b99e4355d 100644 > > --- a/mm/memblock.c > > +++ b/mm/memblock.c > > @@ -700,7 +700,7 @@ static int __init_memblock > > memblock_add_range(struct memblock_type *type, > > int __init_memblock memblock_add_node(phys_addr_t base, phys_addr_t si= ze, > > int nid, enum memblock_flags flags) > > { > > - phys_addr_t end =3D base + size - 1; > > + phys_addr_t end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > > > memblock_dbg("%s: [%pa-%pa] nid=3D%d flags=3D%x %pS\n", __func__, > > &base, &end, nid, flags, (void *)_RET_IP_); > > @@ -721,7 +721,7 @@ int __init_memblock memblock_add_node(phys_addr_t > > base, phys_addr_t size, > > */ > > int __init_memblock memblock_add(phys_addr_t base, phys_addr_t size) > > { > > - phys_addr_t end =3D base + size - 1; > > + phys_addr_t end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > > > memblock_dbg("%s: [%pa-%pa] %pS\n", __func__, > > &base, &end, (void *)_RET_IP_); > > @@ -822,7 +822,7 @@ static int __init_memblock > > memblock_remove_range(struct memblock_type *type, > > > > int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size= ) > > { > > - phys_addr_t end =3D base + size - 1; > > + phys_addr_t end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > > > memblock_dbg("%s: [%pa-%pa] %pS\n", __func__, > > &base, &end, (void *)_RET_IP_); > > @@ -854,7 +854,7 @@ void __init_memblock memblock_free(void *ptr, size_= t size) > > */ > > int __init_memblock memblock_phys_free(phys_addr_t base, phys_addr_t s= ize) > > { > > - phys_addr_t end =3D base + size - 1; > > + phys_addr_t end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > > > memblock_dbg("%s: [%pa-%pa] %pS\n", __func__, > > &base, &end, (void *)_RET_IP_); > > @@ -865,7 +865,7 @@ int __init_memblock memblock_phys_free(phys_addr_t > > base, phys_addr_t size) > > > > int __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t siz= e) > > { > > - phys_addr_t end =3D base + size - 1; > > + phys_addr_t end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > > > memblock_dbg("%s: [%pa-%pa] %pS\n", __func__, > > &base, &end, (void *)_RET_IP_); > > @@ -876,7 +876,7 @@ int __init_memblock memblock_reserve(phys_addr_t > > base, phys_addr_t size) > > #ifdef CONFIG_HAVE_MEMBLOCK_PHYS_MAP > > int __init_memblock memblock_physmem_add(phys_addr_t base, phys_addr_t= size) > > { > > - phys_addr_t end =3D base + size - 1; > > + phys_addr_t end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > > > memblock_dbg("%s: [%pa-%pa] %pS\n", __func__, > > &base, &end, (void *)_RET_IP_); > > @@ -1645,7 +1645,7 @@ void __init memblock_free_late(phys_addr_t base, > > phys_addr_t size) > > { > > phys_addr_t cursor, end; > > > > - end =3D base + size - 1; > > + end =3D base + min(size, PHYS_ADDR_MAX - base + 1) - 1; > > memblock_dbg("%s: [%pa-%pa] %pS\n", > > __func__, &base, &end, (void *)_RET_IP_); > > kmemleak_free_part_phys(base, size); > > -- > > 2.34.1 > > -- > Sincerely yours, > Mike.