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 X-Spam-Level: X-Spam-Status: No, score=-7.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E60AC433DF for ; Tue, 9 Jun 2020 15:08:55 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C6FB720734 for ; Tue, 9 Jun 2020 15:08:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C6FB720734 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 71CCD6B0005; Tue, 9 Jun 2020 11:08:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F1266B0007; Tue, 9 Jun 2020 11:08:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 608D36B0008; Tue, 9 Jun 2020 11:08:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 444CD6B0005 for ; Tue, 9 Jun 2020 11:08:54 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 005A613F2EC for ; Tue, 9 Jun 2020 15:08:53 +0000 (UTC) X-FDA: 76910005788.14.edge26_2e063e226dc3 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin14.hostedemail.com (Postfix) with ESMTP id 69A811802CCD5 for ; Tue, 9 Jun 2020 15:07:47 +0000 (UTC) X-HE-Tag: edge26_2e063e226dc3 X-Filterd-Recvd-Size: 20596 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by imf15.hostedemail.com (Postfix) with ESMTP for ; Tue, 9 Jun 2020 15:07:45 +0000 (UTC) IronPort-SDR: /dzCYPGErHu0/dRJBL/EXhCHx0F14MBHuL0wUZrmpiRrxzgB/cX73sC0D1ktQlg8+wyWI0Ttt/ WFLOMDajgeig== X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2020 08:07:41 -0700 IronPort-SDR: uQA/ktTjHT8krwmCVULgxib2VjmnW0JAGCNbeqgQVQ9Kz822f3HfNB9tbe5JcmvfvF9o0kyQfC JWgkEmUqnJeg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,492,1583222400"; d="gz'50?scan'50,208,50";a="418432133" Received: from lkp-server01.sh.intel.com (HELO 4a187143b92d) ([10.239.97.150]) by orsmga004.jf.intel.com with ESMTP; 09 Jun 2020 08:07:39 -0700 Received: from kbuild by 4a187143b92d with local (Exim 4.92) (envelope-from ) id 1jifqk-00002y-At; Tue, 09 Jun 2020 15:07:38 +0000 Date: Tue, 9 Jun 2020 23:06:45 +0800 From: kernel test robot To: Mike Rapoport Cc: kbuild-all@lists.01.org, Johannes Weiner , Andrew Morton , Linux Memory Management List Subject: [hnaz-linux-mm:master 59/194] arch/powerpc/mm/pgtable.c:267:15: error: implicit declaration of function 'pmd_ptr' Message-ID: <202006092340.SwtJjdnc%lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="+HP7ph2BbKc20aGI" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Queue-Id: 69A811802CCD5 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam02 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: --+HP7ph2BbKc20aGI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://github.com/hnaz/linux-mm master head: a017b085735719105714da692a82a6eeb8830718 commit: eb0f7fa78a5ced856259e759b6bad1bed2a9295c [59/194] mm: pgtable: add shortcuts for accessing kernel PMD and PTE config: powerpc-ep88xc_defconfig (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout eb0f7fa78a5ced856259e759b6bad1bed2a9295c # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>, old ones prefixed by <<): arch/powerpc/mm/pgtable.c: In function 'set_huge_pte_at': >> arch/powerpc/mm/pgtable.c:267:15: error: implicit declaration of function 'pmd_ptr' [-Werror=implicit-function-declaration] 267 | pmd_t *pmd = pmd_ptr(mm, addr); | ^~~~~~~ >> arch/powerpc/mm/pgtable.c:267:15: error: initialization of 'pmd_t *' {aka 'struct *'} from 'int' makes pointer from integer without a cast [-Werror=int-conversion] arch/powerpc/mm/pgtable.c: At top level: arch/powerpc/mm/pgtable.c:341:8: error: no previous prototype for '__find_linux_pte' [-Werror=missing-prototypes] 341 | pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea, | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/pmd_ptr +267 arch/powerpc/mm/pgtable.c f159bcb25fdb31 Andrew Morton 2020-06-09 263 f159bcb25fdb31 Andrew Morton 2020-06-09 264 #if defined(CONFIG_PPC_8xx) f159bcb25fdb31 Andrew Morton 2020-06-09 265 void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) f159bcb25fdb31 Andrew Morton 2020-06-09 266 { f159bcb25fdb31 Andrew Morton 2020-06-09 @267 pmd_t *pmd = pmd_ptr(mm, addr); f159bcb25fdb31 Andrew Morton 2020-06-09 268 pte_basic_t val; f159bcb25fdb31 Andrew Morton 2020-06-09 269 pte_basic_t *entry = &ptep->pte; f159bcb25fdb31 Andrew Morton 2020-06-09 270 int num = is_hugepd(*((hugepd_t *)pmd)) ? 1 : SZ_512K / SZ_4K; f159bcb25fdb31 Andrew Morton 2020-06-09 271 int i; f159bcb25fdb31 Andrew Morton 2020-06-09 272 f159bcb25fdb31 Andrew Morton 2020-06-09 273 /* f159bcb25fdb31 Andrew Morton 2020-06-09 274 * Make sure hardware valid bit is not set. We don't do f159bcb25fdb31 Andrew Morton 2020-06-09 275 * tlb flush for this update. f159bcb25fdb31 Andrew Morton 2020-06-09 276 */ f159bcb25fdb31 Andrew Morton 2020-06-09 277 VM_WARN_ON(pte_hw_valid(*ptep) && !pte_protnone(*ptep)); f159bcb25fdb31 Andrew Morton 2020-06-09 278 f159bcb25fdb31 Andrew Morton 2020-06-09 279 pte = pte_mkpte(pte); f159bcb25fdb31 Andrew Morton 2020-06-09 280 f159bcb25fdb31 Andrew Morton 2020-06-09 281 pte = set_pte_filter(pte); f159bcb25fdb31 Andrew Morton 2020-06-09 282 f159bcb25fdb31 Andrew Morton 2020-06-09 283 val = pte_val(pte); f159bcb25fdb31 Andrew Morton 2020-06-09 284 for (i = 0; i < num; i++, entry++, val += SZ_4K) f159bcb25fdb31 Andrew Morton 2020-06-09 285 *entry = val; f159bcb25fdb31 Andrew Morton 2020-06-09 286 } f159bcb25fdb31 Andrew Morton 2020-06-09 287 #endif f069ff396d657a Aneesh Kumar K.V 2018-05-29 288 #endif /* CONFIG_HUGETLB_PAGE */ f069ff396d657a Aneesh Kumar K.V 2018-05-29 289 :::::: The code at line 267 was first introduced by commit :::::: f159bcb25fdb31b93da0d50db40bc34e8cdcc713 origin :::::: TO: Andrew Morton :::::: CC: Johannes Weiner --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --+HP7ph2BbKc20aGI Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --+HP7ph2BbKc20aGI--