Received: by 10.213.65.68 with SMTP id h4csp254589imn; Wed, 28 Mar 2018 02:59:42 -0700 (PDT) X-Google-Smtp-Source: AIpwx488lhJMhyzLmPpMOphHqgC3fpdzSpxqVG2CXiAxPm0JbO0XDAv3Xc9HFgrrpxpk/QTQRoVF X-Received: by 2002:a17:902:bd94:: with SMTP id q20-v6mr3129825pls.364.1522231182689; Wed, 28 Mar 2018 02:59:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522231182; cv=none; d=google.com; s=arc-20160816; b=oOQFKEwhhuYOobwnlEkLWd7fFEg30o7ZyqEtcANa5tKjG/kxvX8msddD8t5j8fJpSD T3e1iZ6a2T0cuSgqjyboqpJs+9IGdSx2AYwlQ4WhWuNwIU8VY+ud4iLbqShPX76UxToZ im9PaYgLEvliSnGu+ED4TlmGpA01WTLRnK68HahCZYvcDhyZ2rvvpyZ8osDOyV7UKURx YS5EfHzzU9FhZCSghGHvW+I5lWcn5cPtCjemD44pJos+6AYnQwPy2xBMU09xLAYXE0aK NcTCtX4v3agGx8IBkRJkR3gqFupDVo8d4B6+VvlJ8p2AnU71is7hJzKigl1v7BGY7JU6 P2Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date :arc-authentication-results; bh=8suC8eV1L7dkGG2imbUldIh5ZxoO3mhtHUDmel2omrk=; b=iPVBQvo7fafJ5DAmVXOuvn1j0iqIk/t9175/L4pqVRqMpAulaNZcPuTl9WFrUGseqS k7keWPUdh3L3RJHM7UG+puleV9LcP3AZm7szj6sreKTfJDGG3S3XuzbM9PzHPIe/AMiB mmchhANfOObECbqZOU9lfcD8B7ZfpNxmS9oMgDrqUIMbiZLXjkgEg5aa/cpk7hS9F8fq LEj3qsFkOGJaXC+ZSigY+flVY8XQH1XO1nwcdjwtSO+mCrCRbGt98kCDiHQRSCN9MFyY 3AQ4h+eK1ECvzSRnZqkpRzlOWQdkH3MtCyxBrT8Pq5b7OkzrOsP9DXO+Om2FEt5I/uSH 5Rtg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c41-v6si3356182plj.704.2018.03.28.02.59.27; Wed, 28 Mar 2018 02:59:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752791AbeC1J6G (ORCPT + 99 others); Wed, 28 Mar 2018 05:58:06 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:51674 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752311AbeC1J6F (ORCPT ); Wed, 28 Mar 2018 05:58:05 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 22F8312D0; Wed, 28 Mar 2018 09:58:04 +0000 (UTC) Date: Wed, 28 Mar 2018 11:58:01 +0200 From: "gregkh@linuxfoundation.org" To: Nathan Chancellor Cc: "Kani, Toshi" , "dan.rue@linaro.org" , "linux-kernel@vger.kernel.org" , "torvalds@linux-foundation.org" , "bp@suse.de" , "tglx@linutronix.de" , "lious.lilei@hisilicon.com" , "guohanjun@huawei.com" , "wxf.wang@hisilicon.com" , "stable@vger.kernel.org" , "akpm@linux-foundation.org" , "hpa@zytor.com" , "will.deacon@arm.com" , "catalin.marinas@arm.com" , "mingo@redhat.com" , "Hocko, Michal" , "cpandya@codeaurora.org" , "willy@infradead.org" Subject: Re: [PATCH 4.4 20/43] mm/vmalloc: add interfaces to free unmapped page table Message-ID: <20180328095801.GB20664@kroah.com> References: <20180327162716.407986916@linuxfoundation.org> <20180327162717.580646019@linuxfoundation.org> <20180327201700.xmgzgqox3sz3z32r@xps> <20180327203130.GA18921@localhost> <1522183239.2693.240.camel@hpe.com> <20180327204755.GA19436@localhost> <20180328063202.GB9547@kroah.com> <20180328064718.GA31963@flashbox> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180328064718.GA31963@flashbox> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 27, 2018 at 11:47:18PM -0700, Nathan Chancellor wrote: > On Wed, Mar 28, 2018 at 08:32:02AM +0200, gregkh@linuxfoundation.org wrote: > > On Tue, Mar 27, 2018 at 01:47:55PM -0700, Nathan Chancellor wrote: > > > On Tue, Mar 27, 2018 at 08:40:56PM +0000, Kani, Toshi wrote: > > > > On Tue, 2018-03-27 at 13:31 -0700, Nathan Chancellor wrote: > > > > > On Tue, Mar 27, 2018 at 03:17:00PM -0500, Dan Rue wrote: > > > > > > On Tue, Mar 27, 2018 at 06:27:24PM +0200, Greg Kroah-Hartman wrote: > > > > > > > 4.4-stable review patch. If anyone has any objections, please let me know. > > > > > > > > > > > : > > > > > > > > > > > > This patch causes the following build error on 4.4 arm64: > > > > > > > > > > > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 defconfig > > > > > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 > > > > > > > > > > > > CC arch/arm64/mm/mmu.o > > > > > > ../arch/arm64/mm/mmu.c:701:5: error: redefinition of ‘pud_free_pmd_page’ > > > > > > int pud_free_pmd_page(pud_t *pud) > > > > > > ^~~~~~~~~~~~~~~~~ > > > > > > In file included from ../arch/arm64/include/asm/pgtable.h:682:0, > > > > > > from ../include/linux/mm.h:55, > > > > > > from ../include/linux/mman.h:4, > > > > > > from ../arch/arm64/mm/mmu.c:25: > > > > > > ../include/asm-generic/pgtable.h:777:19: note: previous definition of ‘pud_free_pmd_page’ was here > > > > > > static inline int pud_free_pmd_page(pud_t *pud) > > > > > > ^~~~~~~~~~~~~~~~~ > > > > > > ../arch/arm64/mm/mmu.c:706:5: error: redefinition of ‘pmd_free_pte_page’ > > > > > > int pmd_free_pte_page(pmd_t *pmd) > > > > > > ^~~~~~~~~~~~~~~~~ > > > > > > In file included from ../arch/arm64/include/asm/pgtable.h:682:0, > > > > > > from ../include/linux/mm.h:55, > > > > > > from ../include/linux/mman.h:4, > > > > > > from ../arch/arm64/mm/mmu.c:25: > > > > > > ../include/asm-generic/pgtable.h:781:19: note: previous definition of ‘pmd_free_pte_page’ was here > > > > > > static inline int pmd_free_pte_page(pmd_t *pmd) > > > > > > ^~~~~~~~~~~~~~~~~ > > > > > > make[2]: *** [../scripts/Makefile.build:270: arch/arm64/mm/mmu.o] Error 1 > > > > > > make[1]: *** [/home/drue/src/linux/4.4-rc/Makefile:969: arch/arm64/mm] Error 2 > > > > > > make[1]: Leaving directory '/home/drue/src/linux/4.4-rc/build-arm64' > > > > > > make: *** [Makefile:152: sub-make] Error 2 > > > > > > > > > > > > > > > > > > > > > > Both of my arm64 devices built fine with this patch... It seems like > > > > > the only way to hit that error is if HAVE_ARCH_HUGE_VMAP isn't set, > > > > > which seems impossible since it is selected by ARM64... > > > > > > > > > > Someone smarter than I might have more insight but this patch is > > > > > unchanged from upstream so I can only assume that this error would > > > > > manifest there as well. > > > > > > > > It appears that HAVE_ARCH_HUGE_VMAP was introduced in 4.6 on arm64. > > > > Hence the problem in 4.4. > > > > > > > > Thanks, > > > > -Toshi > > > > > > > > > > Ah, thanks for the heads up, since I have 324420bf91f6 ("arm64: add > > > support for ioremap() block mappings") in my tree due to Linaro's > > > backport of it for their Linaro Stable Kernel, which serves as a base > > > for most Android kernels. My apologies for not digging deeper and sorry > > > for the noise! > > > > So should I just drop this patch? > > Unless I am reading the commit message wrong and ignoring the fact that > the mainling commit applied cleanly to 4.4.124, it seems like this is > still relevant for x86. > > Toshi suggested dropping the changes to arch/arm64/mm/mmu.c, which won't > be a problem for arm64 devices running the stable kernels as they come > because they don't have HAVE_ARCH_HUGE_VMAP so they shouldn't be hitting > the bug mentioned in the commit message anyways. > > However, for Android devices which have the mainline commit I mentioned > above introducing HAVE_ARCH_HUGE_VMAP, dropping those changes would mean > this commit isn't fixing the issue it mentions, which they would be able > to hit in theory. > > I don't know how you want to handle that but a simple suggestion that > would not change the end result of the patch for both the stable tree > and frankenkernels would be to add a simple > > #ifdef CONFIG_ARCH_HAVE_HUGE_VMAP > > around the changes in arch/arm64/mm/mmu.c. > > I'll let you be the final judge though! Cheers, That's a good idea about the #ifdef, I've updated the patch to be like this, and pushed out a -rc2 with that change in it. thanks, greg k-h