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: <201707161324.9phKrUET%fengguang.wu@intel.com>
Date:   Sun, 16 Jul 2017 13:11:46 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Dennis Zhou <dennisz@...com>
Cc:     kbuild-all@...org, Tejun Heo <tj@...nel.org>,
        Christoph Lameter <cl@...ux.com>, kernel-team@...com,
        linux-kernel@...r.kernel.org, linux-mm@...ck.org,
        Dennis Zhou <dennisszhou@...il.com>
Subject: Re: [PATCH 05/10] percpu: change reserved_size to end page aligned

Hi Dennis,

[auto build test ERROR on percpu/for-next]
[also build test ERROR on v4.13-rc1 next-20170714]
[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/Dennis-Zhou/percpu-replace-percpu-area-map-allocator-with-bitmap-allocator/20170716-103337
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git for-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

   arch/ia64/mm/discontig.c: In function 'setup_per_cpu_areas':
>> arch/ia64/mm/discontig.c:218:10: error: 'PERCPU_MODULE_RSERVE' undeclared (first use in this function)
             PERCPU_MODULE_RSERVE);
             ^~~~~~~~~~~~~~~~~~~~
   arch/ia64/mm/discontig.c:218:10: note: each undeclared identifier is reported only once for each function it appears in

vim +/PERCPU_MODULE_RSERVE +218 arch/ia64/mm/discontig.c

   174	
   175	#ifdef CONFIG_SMP
   176	/**
   177	 * setup_per_cpu_areas - setup percpu areas
   178	 *
   179	 * Arch code has already allocated and initialized percpu areas.  All
   180	 * this function has to do is to teach the determined layout to the
   181	 * dynamic percpu allocator, which happens to be more complex than
   182	 * creating whole new ones using helpers.
   183	 */
   184	void __init setup_per_cpu_areas(void)
   185	{
   186		struct pcpu_alloc_info *ai;
   187		struct pcpu_group_info *uninitialized_var(gi);
   188		unsigned int *cpu_map;
   189		void *base;
   190		unsigned long base_offset;
   191		unsigned int cpu;
   192		ssize_t static_size, reserved_size, dyn_size;
   193		int node, prev_node, unit, nr_units, rc;
   194	
   195		ai = pcpu_alloc_alloc_info(MAX_NUMNODES, nr_cpu_ids);
   196		if (!ai)
   197			panic("failed to allocate pcpu_alloc_info");
   198		cpu_map = ai->groups[0].cpu_map;
   199	
   200		/* determine base */
   201		base = (void *)ULONG_MAX;
   202		for_each_possible_cpu(cpu)
   203			base = min(base,
   204				   (void *)(__per_cpu_offset[cpu] + __per_cpu_start));
   205		base_offset = (void *)__per_cpu_start - base;
   206	
   207		/* build cpu_map, units are grouped by node */
   208		unit = 0;
   209		for_each_node(node)
   210			for_each_possible_cpu(cpu)
   211				if (node == node_cpuid[cpu].nid)
   212					cpu_map[unit++] = cpu;
   213		nr_units = unit;
   214	
   215		/* set basic parameters */
   216		static_size = __per_cpu_end - __per_cpu_start;
   217		reserved_size = pcpu_align_reserved_region(static_size,
 > 218							   PERCPU_MODULE_RSERVE);
   219		dyn_size = PERCPU_PAGE_SIZE - static_size - reserved_size;
   220		if (dyn_size < 0)
   221			panic("percpu area overflow static=%zd reserved=%zd\n",
   222			      static_size, reserved_size);
   223	
   224		ai->static_size		= static_size;
   225		ai->reserved_size	= reserved_size;
   226		ai->dyn_size		= dyn_size;
   227		ai->unit_size		= PERCPU_PAGE_SIZE;
   228		ai->atom_size		= PAGE_SIZE;
   229		ai->alloc_size		= PERCPU_PAGE_SIZE;
   230	
   231		/*
   232		 * CPUs are put into groups according to node.  Walk cpu_map
   233		 * and create new groups at node boundaries.
   234		 */
   235		prev_node = -1;
   236		ai->nr_groups = 0;
   237		for (unit = 0; unit < nr_units; unit++) {
   238			cpu = cpu_map[unit];
   239			node = node_cpuid[cpu].nid;
   240	
   241			if (node == prev_node) {
   242				gi->nr_units++;
   243				continue;
   244			}
   245			prev_node = node;
   246	
   247			gi = &ai->groups[ai->nr_groups++];
   248			gi->nr_units		= 1;
   249			gi->base_offset		= __per_cpu_offset[cpu] + base_offset;
   250			gi->cpu_map		= &cpu_map[unit];
   251		}
   252	
   253		rc = pcpu_setup_first_chunk(ai, base);
   254		if (rc)
   255			panic("failed to setup percpu area (err=%d)", rc);
   256	
   257		pcpu_free_alloc_info(ai);
   258	}
   259	#endif
   260	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (47682 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ