Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3453213pxf; Mon, 29 Mar 2021 02:37:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyLlpz5jA6yNrIZqOE5N7AUiW6iklCLMZcCAB4rYJpkMGjB9as11zMe7+INcLG6K+j9K8K/ X-Received: by 2002:aa7:cc98:: with SMTP id p24mr27268404edt.187.1617010666148; Mon, 29 Mar 2021 02:37:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617010666; cv=none; d=google.com; s=arc-20160816; b=f28BDVdQc9FHbdjx34wMR3HKqMysGlIG8ysjpIhV9IZ/DwVaoWh+pMsBQq79DDvWlb mA6sXcRp9V3zIJtKlHlFxNl64Fd3YtRp9apUvACDfpp3rI/MHq9zbQpPPq1DDw/eT9b1 9emlIEJ+oWadUzF09mQ19deexCw7VyWtCj+U8CC33LatOVNnLIGPe1rw1WGAGeaSZ34U QkeOhJ8NvzT251soSYuMtKxN7l7/NpEKsyIIF5346bln2lv1f5Do4/hhqOomXIs78ydE XyCoMsQgaRQ2NGGnXJnaBeyvJxIMlvqEvcIlGST121toN6umiIy7TlAAxPghJzy/1gS+ xt9w== 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=ofP8ZrkKdrb2jW02UKASuGexUcGhv2J0NvhfsNoA2rw=; b=krfLVBCXlCC6bjIub6uznz1X+TxxItc73/fOXpmzUZhDGXVBCH/4fHRxay7rCYKBWn 178QWyxSzj5E0mKcZqZXOR7wXDOXERgHEDrvhAORrQYdJXRMnGGYZATQ54AUNlDJ6JRw 3wEM5xSVydANgbKeJ2MKp/Xh7gnaK20l097cmYOq9hxGn2Lowme/3rVtZUeZGEtmU0/i sOBLNtNjrub+y9YXoDdssoGWw+Bm+i/Qo4OL9Ts3VeToCSG8kRdnzPB/icCETqwXrzwu PjJ3KcDb+kV+TPpSyDCfa+G5VCIGOAF8q6LVBV5Pt0GKMNj8a+AYcSO3xlgrvLIFyjuJ VZHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LWhxFew4; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r12si12208909edd.58.2021.03.29.02.37.23; Mon, 29 Mar 2021 02:37:46 -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=@linaro.org header.s=google header.b=LWhxFew4; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231142AbhC2JgE (ORCPT + 99 others); Mon, 29 Mar 2021 05:36:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230319AbhC2Jft (ORCPT ); Mon, 29 Mar 2021 05:35:49 -0400 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C8A5C061574 for ; Mon, 29 Mar 2021 02:35:49 -0700 (PDT) Received: by mail-ed1-x535.google.com with SMTP id o19so13476380edc.3 for ; Mon, 29 Mar 2021 02:35:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ofP8ZrkKdrb2jW02UKASuGexUcGhv2J0NvhfsNoA2rw=; b=LWhxFew4ersP1bNrrS/NlQ7W5Wfn+B7qayH3xpRbTUpQ8/ZFI7VhGpZAoHTlpbSI9x 4p7LvtBL4kSOJXZ+Cd9e5O04DN1347CpU8/Qggx18/vHhrxLyOJvWanTfiJo3wK0pXQe jXhhNPuPbJISHvJjCT3Pgu7yGZdO1Ma+27xw6nUshbKcIZEXE5GcOiuTGdXti7t2MKB0 tUM68KaL/IUiIauovo+qemQLHynrPpjlrmalMOBwb5XCnRH2Pxd3q/a3tonUcKTW+BMN 0HBi6osGVojmYTfxrlfjJU40cq62HaXJ7RAPPgpBN4BEbiLYElPZdM6JvTaMhcozOd9x sNjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ofP8ZrkKdrb2jW02UKASuGexUcGhv2J0NvhfsNoA2rw=; b=GOsP8ybVNW0kj6y6oShtyktx3wPuPFYvrhWyK8ro/FBMRKnIHDefVFj7Qqv/2LTdXF uVoZ/J6I8QSYbj9AsM7LCXijRumItSl9EFz7p/WjZ/Iw1WbJfm0BYaeSRVs1jpaU/njk XqbQFpdHoxlFRaSuAO63tWHIdpzX16FQLZqd5I9ub9HZaJTRutCaKi6uemHjgpE6r/v7 OIM9vzRheCq5QH9nQstseh4k59ZlOeNuYQLoyFCmnP6nTDNTFFjh5f7+NsWhwo64D8TQ CKQMGu7BFtb3rNBRknbqf6pApI9Xt9PLei01U03LwuVZ9t5HiF9ppi8YrBPd1BPbZf5k U/QQ== X-Gm-Message-State: AOAM531kKRHX+bYcCIBAg8WJIFO/wYfKsQ/FqjgwPuS3E2dynxzp8zh4 7mtazYoAaNERRHPWBlOYzgSbW/kqUdvLe0EIczMeVJ+W5m0O8fPV X-Received: by 2002:a17:907:720a:: with SMTP id dr10mr27144667ejc.375.1617010537417; Mon, 29 Mar 2021 02:35:37 -0700 (PDT) MIME-Version: 1.0 References: <20210329075633.135869143@linuxfoundation.org> <20210329075640.480623043@linuxfoundation.org> In-Reply-To: <20210329075640.480623043@linuxfoundation.org> From: Naresh Kamboju Date: Mon, 29 Mar 2021 15:05:25 +0530 Message-ID: Subject: Re: [PATCH 5.11 225/254] arm64/mm: define arch_get_mappable_range() To: Greg Kroah-Hartman Cc: open list , linux-stable , Anshuman Khandual , David Hildenbrand , Catalin Marinas , Will Deacon , Ard Biesheuvel , Mark Rutland , Heiko Carstens , Jason Wang , Jonathan Cameron , "Michael S. Tsirkin" , Michal Hocko , Oscar Salvador , Pankaj Gupta , Pankaj Gupta , teawater , Vasily Gorbik , Wei Yang , Andrew Morton , Linus Torvalds , Sasha Levin Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 29 Mar 2021 at 14:10, Greg Kroah-Hartman wrote: > > From: Anshuman Khandual > > [ Upstream commit 03aaf83fba6e5af08b5dd174c72edee9b7d9ed9b ] > > This overrides arch_get_mappable_range() on arm64 platform which will be > used with recently added generic framework. It drops > inside_linear_region() and subsequent check in arch_add_memory() which are > no longer required. It also adds a VM_BUG_ON() check that would ensure > that mhp_range_allowed() has already been called. > > Link: https://lkml.kernel.org/r/1612149902-7867-3-git-send-email-anshuman.khandual@arm.com > Signed-off-by: Anshuman Khandual > Reviewed-by: David Hildenbrand > Reviewed-by: Catalin Marinas > Cc: Will Deacon > Cc: Ard Biesheuvel > Cc: Mark Rutland > Cc: Heiko Carstens > Cc: Jason Wang > Cc: Jonathan Cameron > Cc: "Michael S. Tsirkin" > Cc: Michal Hocko > Cc: Oscar Salvador > Cc: Pankaj Gupta > Cc: Pankaj Gupta > Cc: teawater > Cc: Vasily Gorbik > Cc: Wei Yang > Signed-off-by: Andrew Morton > Signed-off-by: Linus Torvalds > Signed-off-by: Sasha Levin > --- > arch/arm64/mm/mmu.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > index 6f0648777d34..92b3be127796 100644 > --- a/arch/arm64/mm/mmu.c > +++ b/arch/arm64/mm/mmu.c > @@ -1443,16 +1443,19 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size) > free_empty_tables(start, end, PAGE_OFFSET, PAGE_END); > } > > -static bool inside_linear_region(u64 start, u64 size) > +struct range arch_get_mappable_range(void) > { > + struct range mhp_range; > + > /* > * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)] > * accommodating both its ends but excluding PAGE_END. Max physical > * range which can be mapped inside this linear mapping range, must > * also be derived from its end points. > */ > - return start >= __pa(_PAGE_OFFSET(vabits_actual)) && > - (start + size - 1) <= __pa(PAGE_END - 1); > + mhp_range.start = __pa(_PAGE_OFFSET(vabits_actual)); > + mhp_range.end = __pa(PAGE_END - 1); > + return mhp_range; > } > > int arch_add_memory(int nid, u64 start, u64 size, > @@ -1460,11 +1463,7 @@ int arch_add_memory(int nid, u64 start, u64 size, > { > int ret, flags = 0; > > - if (!inside_linear_region(start, size)) { > - pr_err("[%llx %llx] is outside linear mapping region\n", start, start + size); > - return -EINVAL; > - } > - > + VM_BUG_ON(!mhp_range_allowed(start, size, true)); > if (rodata_full || debug_pagealloc_enabled()) > flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS; The stable rc 5.10 and 5.11 builds failed for arm64 architecture due to below warnings / errors, > Anshuman Khandual > arm64/mm: define arch_get_mappable_range() arch/arm64/mm/mmu.c: In function 'arch_add_memory': arch/arm64/mm/mmu.c:1483:13: error: implicit declaration of function 'mhp_range_allowed'; did you mean 'cpu_map_prog_allowed'? [-Werror=implicit-function-declaration] VM_BUG_ON(!mhp_range_allowed(start, size, true)); ^ include/linux/build_bug.h:30:63: note: in definition of macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ arch/arm64/mm/mmu.c:1483:2: note: in expansion of macro 'VM_BUG_ON' VM_BUG_ON(!mhp_range_allowed(start, size, true)); ^~~~~~~~~ Build link, https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-stable-rc-5.11/DISTRO=lkft,MACHINE=juno,label=docker-buster-lkft/41/consoleText https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-stable-rc-5.10/DISTRO=lkft,MACHINE=dragonboard-410c,label=docker-buster-lkft/120/consoleFull -- Linaro LKFT https://lkft.linaro.org