lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171026065837.GB2275@x1>
Date:   Thu, 26 Oct 2017 14:58:37 +0800
From:   Baoquan He <bhe@...hat.com>
To:     kbuild test robot <lkp@...el.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        akpm@...ux-foundation.org, x86@...nel.org
Subject: Re: [PATCH] x86/mm/64: Rename the argument 'size' as 'nr_pages' in
 register_page_bootmem_memmap

On 10/26/17 at 02:33pm, kbuild test robot wrote:
> Hi Baoquan,
> 
> [auto build test ERROR on tip/x86/core]
> [also build test ERROR on v4.14-rc6 next-20171018]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Baoquan-He/x86-mm-64-Rename-the-argument-size-as-nr_pages-in-register_page_bootmem_memmap/20171026-125956
> config: x86_64-allyesconfig (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> All errors (new ones prefixed by >>):
> 
>    arch/x86//mm/init_64.c: In function 'register_page_bootmem_memmap':
> >> arch/x86//mm/init_64.c:1341:15: error: 'nr_pages' redeclared as different kind of symbol
>      unsigned int nr_pages;
>                   ^~~~~~~~
>    arch/x86//mm/init_64.c:1332:46: note: previous definition of 'nr_pages' was here
>           struct page *start_page, unsigned long nr_pages)

Thanks for telling, this patch is incomplete. I have posted v2 and will
post v3 per Ingo's comments. So NACK this v1 post.

>                                                  ^~~~~~~~
> 
> vim +/nr_pages +1341 arch/x86//mm/init_64.c
> 
> c2b91e2ee Yinghai Lu         2008-04-12  1329  
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1330  #if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_HAVE_BOOTMEM_INFO_NODE)
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1331  void register_page_bootmem_memmap(unsigned long section_nr,
> b5f7b7e8b Baoquan He         2017-10-24  1332  				  struct page *start_page, unsigned long nr_pages)
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1333  {
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1334  	unsigned long addr = (unsigned long)start_page;
> b5f7b7e8b Baoquan He         2017-10-24  1335  	unsigned long end = (unsigned long)(start_page + nr_pages);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1336  	unsigned long next;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1337  	pgd_t *pgd;
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1338  	p4d_t *p4d;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1339  	pud_t *pud;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1340  	pmd_t *pmd;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22 @1341  	unsigned int nr_pages;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1342  	struct page *page;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1343  
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1344  	for (; addr < end; addr = next) {
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1345  		pte_t *pte = NULL;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1346  
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1347  		pgd = pgd_offset_k(addr);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1348  		if (pgd_none(*pgd)) {
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1349  			next = (addr + PAGE_SIZE) & PAGE_MASK;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1350  			continue;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1351  		}
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1352  		get_page_bootmem(section_nr, pgd_page(*pgd), MIX_SECTION_INFO);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1353  
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1354  		p4d = p4d_offset(pgd, addr);
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1355  		if (p4d_none(*p4d)) {
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1356  			next = (addr + PAGE_SIZE) & PAGE_MASK;
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1357  			continue;
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1358  		}
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1359  		get_page_bootmem(section_nr, p4d_page(*p4d), MIX_SECTION_INFO);
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1360  
> f2a6a7050 Kirill A. Shutemov 2017-03-17  1361  		pud = pud_offset(p4d, addr);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1362  		if (pud_none(*pud)) {
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1363  			next = (addr + PAGE_SIZE) & PAGE_MASK;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1364  			continue;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1365  		}
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1366  		get_page_bootmem(section_nr, pud_page(*pud), MIX_SECTION_INFO);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1367  
> 16bf92261 Borislav Petkov    2016-03-29  1368  		if (!boot_cpu_has(X86_FEATURE_PSE)) {
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1369  			next = (addr + PAGE_SIZE) & PAGE_MASK;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1370  			pmd = pmd_offset(pud, addr);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1371  			if (pmd_none(*pmd))
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1372  				continue;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1373  			get_page_bootmem(section_nr, pmd_page(*pmd),
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1374  					 MIX_SECTION_INFO);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1375  
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1376  			pte = pte_offset_kernel(pmd, addr);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1377  			if (pte_none(*pte))
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1378  				continue;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1379  			get_page_bootmem(section_nr, pte_page(*pte),
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1380  					 SECTION_INFO);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1381  		} else {
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1382  			next = pmd_addr_end(addr, end);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1383  
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1384  			pmd = pmd_offset(pud, addr);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1385  			if (pmd_none(*pmd))
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1386  				continue;
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1387  
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1388  			nr_pages = 1 << (get_order(PMD_SIZE));
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1389  			page = pmd_page(*pmd);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1390  			while (nr_pages--)
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1391  				get_page_bootmem(section_nr, page++,
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1392  						 SECTION_INFO);
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1393  		}
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1394  	}
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1395  }
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1396  #endif
> 46723bfa5 Yasuaki Ishimatsu  2013-02-22  1397  
> 
> :::::: The code at line 1341 was first introduced by commit
> :::::: 46723bfa540f0a1e494476a1734d03626a0bd1e0 memory-hotplug: implement register_page_bootmem_info_section of sparse-vmemmap
> 
> :::::: TO: Yasuaki Ishimatsu <isimatu.yasuaki@...fujitsu.com>
> :::::: CC: Linus Torvalds <torvalds@...ux-foundation.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ