Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp1603816ybg; Sun, 27 Oct 2019 01:03:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqwT0GConTWAHsPGkziMtmcCwtI3JN6MbG3QllqS8z50ko+7rpflmxenaAuA6XsTe+FDQl9+ X-Received: by 2002:a17:906:5010:: with SMTP id s16mr10889926ejj.67.1572163420594; Sun, 27 Oct 2019 01:03:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572163420; cv=none; d=google.com; s=arc-20160816; b=umOJsAd2a3QE/hiEpeBgK5+PBkiu+WFEslRDzRRjbHvOgh/mcXOoFHp1F3nPgXy/ac xYobBFtD4USuP05jgmpJVOx2Pu14OX6wjAZHq3Zzxazbq+MZB4+uv+vcwYpZ5Dd0S1Z0 VW41E4epuB6FjONLPZmpKGwAOa9aAbrVHIQRX3U64UNQF4Je7/qM8GnnXOro7PVXoyo5 U+cj6/S05Lb7bbNvPPoW/w91XCUYDET8RiqxZeYPCjKl5rTJlGX3evw8hfLdU+ysonji IlJ3VtkoqeuMkQCvclnCPxbiRRIUdV0LOdHc6iW7ewwwZlvwkIIkbAVc0ipNjiuE9BH9 cUKg== 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-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=QAUN+oVp3HVG3qp0xvu/NsIEsmX5SwSN8bSFuKvi3IA=; b=AozILme4BUfnRRhZSAMC3Kk4d6GHxzl0gz9vDI44xVEcsWK/zVp7xKRE3a1um8GAmC 8sUAJjEvvuZrQj+O3tYh2gpzoIU6HKg08g5a1McXLX3eXduKYWtpTQxGPFYR3CyMStNV vFizYwTP072mZ/klBKWh8E8fsprjj9zYPT7wOXLnLV1Vpagkoflp5znDa1zLYRDhsAdr fF/6Ncb4m/cTiY4pcg3DZttgs8ubYOf/ZQP3BQ/NPHTy0yW+YcJcQ01HmUZVvp9epEf4 ZP+Bg89NAiD641vzgxAg5pI29MOuZ/Kw1UR0VUSBZnd09YZIKgHQANEst40LqwE5iD1n zWlg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d17si4480368edv.76.2019.10.27.01.03.03; Sun, 27 Oct 2019 01:03:40 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726254AbfJ0IAN (ORCPT + 99 others); Sun, 27 Oct 2019 04:00:13 -0400 Received: from mga02.intel.com ([134.134.136.20]:27426 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725977AbfJ0IAM (ORCPT ); Sun, 27 Oct 2019 04:00:12 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Oct 2019 01:00:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,235,1569308400"; d="gz'50?scan'50,208,50";a="399169677" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by fmsmga005.fm.intel.com with ESMTP; 27 Oct 2019 01:00:07 -0700 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1iOdT5-000GR4-5w; Sun, 27 Oct 2019 16:00:07 +0800 Date: Sun, 27 Oct 2019 15:59:36 +0800 From: kbuild test robot To: Steven Price Cc: kbuild-all@lists.01.org, linux-mm@kvack.org, Steven Price , Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Dave Hansen , Ingo Molnar , James Morse , =?iso-8859-1?B?Suly9G1l?= Glisse , Peter Zijlstra , Thomas Gleixner , Will Deacon , x86@kernel.org, "H. Peter Anvin" , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Mark Rutland , "Liang, Kan" , Andrew Morton Subject: Re: [PATCH v13 12/22] mm: pagewalk: Allow walking without vma Message-ID: <201910271514.G7Dilhf7%lkp@intel.com> References: <20191024093716.49420-13-steven.price@arm.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="ctmgscrbmntgw5z2" Content-Disposition: inline In-Reply-To: <20191024093716.49420-13-steven.price@arm.com> X-Patchwork-Hint: ignore User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --ctmgscrbmntgw5z2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Steven, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.4-rc4 next-20191025] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Steven-Price/Generic-page-walk-and-ptdump/20191027-140322 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5a1e843c66fa6438f389045981c37e4073917641 config: arc-defconfig (attached as .config) compiler: arc-elf-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=arc If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): In file included from arch/arc/include/asm/thread_info.h:16:0, from include/linux/thread_info.h:38, from include/asm-generic/preempt.h:5, from ./arch/arc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/mm.h:10, from include/linux/pagewalk.h:5, from mm/pagewalk.c:2: mm/pagewalk.c: In function 'walk_pmd_range': >> include/asm-generic/pgtable-nopmd.h:49:35: error: 'pmd' is a pointer; did you mean to use '->'? #define pmd_val(x) (pud_val((x).pud)) ^ arch/arc/include/asm/page.h:65:21: note: in definition of macro 'pgd_val' #define pgd_val(x) (x) ^ include/asm-generic/pgtable-nopmd.h:49:24: note: in expansion of macro 'pud_val' #define pmd_val(x) (pud_val((x).pud)) ^~~~~~~ >> arch/arc/include/asm/pgtable.h:277:24: note: in expansion of macro 'pmd_val' #define pmd_leaf(x) (pmd_val(pmd) & _PAGE_HW_SZ) ^~~~~~~ >> mm/pagewalk.c:68:14: note: in expansion of macro 'pmd_leaf' } else if (pmd_leaf(*pmd)) { ^~~~~~~~ vim +/pmd_leaf +68 mm/pagewalk.c 28 29 static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end, 30 struct mm_walk *walk) 31 { 32 pmd_t *pmd; 33 unsigned long next; 34 const struct mm_walk_ops *ops = walk->ops; 35 int err = 0; 36 37 pmd = pmd_offset(pud, addr); 38 do { 39 again: 40 next = pmd_addr_end(addr, end); 41 if (pmd_none(*pmd)) { 42 if (ops->pte_hole) 43 err = ops->pte_hole(addr, next, walk); 44 if (err) 45 break; 46 continue; 47 } 48 /* 49 * This implies that each ->pmd_entry() handler 50 * needs to know about pmd_trans_huge() pmds 51 */ 52 if (ops->pmd_entry) 53 err = ops->pmd_entry(pmd, addr, next, walk); 54 if (err) 55 break; 56 57 /* 58 * Check this here so we only break down trans_huge 59 * pages when we _need_ to 60 */ 61 if (!ops->pte_entry) 62 continue; 63 64 if (walk->vma) { 65 split_huge_pmd(walk->vma, pmd, addr); 66 if (pmd_trans_unstable(pmd)) 67 goto again; > 68 } else if (pmd_leaf(*pmd)) { 69 continue; 70 } 71 72 err = walk_pte_range(pmd, addr, next, walk); 73 if (err) 74 break; 75 } while (pmd++, addr = next, addr != end); 76 77 return err; 78 } 79 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --ctmgscrbmntgw5z2 Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 CvYe8P4H2OALdZ2BAAA= --ctmgscrbmntgw5z2--