All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 2375/5845] drivers/edac/edac_mc.c:396:24: warning: Variable 'layer' is not assigned a value. [unassignedVariable]
@ 2022-04-23 10:11 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-04-23 10:11 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 7034 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Borislav Petkov <bp@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   e7d6987e09a328d4a949701db40ef63fbb970670
commit: 0bbb265f7089584aaa6d440805ca75ea4f3930d4 [2375/5845] EDAC/mc: Get rid of silly one-shot struct allocation in edac_mc_alloc()
:::::: branch date: 28 hours ago
:::::: commit date: 12 days ago
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 0bbb265f7089584aaa6d440805ca75ea4f3930d4
        cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

   drivers/edac/edac_mc.c:484:62: warning: Parameter 'dev' can be declared with const [constParameter]
   static struct mem_ctl_info *__find_mci_by_dev(struct device *dev)
                                                                ^
>> drivers/edac/edac_mc.c:396:24: warning: Variable 'layer' is not assigned a value. [unassignedVariable]
    struct edac_mc_layer *layer;
                          ^
>> kernel/bpf/core.c:1667:3: warning: Syntax Error: AST broken, binary operator '=' doesn't have two operands. [internalAstError]
     BPF_INSN_MAP(BPF_INSN_2_LBL, BPF_INSN_3_LBL),
     ^

vim +/layer +396 drivers/edac/edac_mc.c

da9bb1d27b21cb Alan Cox        2006-01-18  389  
1f27c79062385a Robert Richter  2020-01-23  390  struct mem_ctl_info *edac_mc_alloc(unsigned int mc_num,
1f27c79062385a Robert Richter  2020-01-23  391  				   unsigned int n_layers,
1f27c79062385a Robert Richter  2020-01-23  392  				   struct edac_mc_layer *layers,
1f27c79062385a Robert Richter  2020-01-23  393  				   unsigned int sz_pvt)
1f27c79062385a Robert Richter  2020-01-23  394  {
1f27c79062385a Robert Richter  2020-01-23  395  	struct mem_ctl_info *mci;
1f27c79062385a Robert Richter  2020-01-23 @396  	struct edac_mc_layer *layer;
0bbb265f708958 Borislav Petkov 2022-02-20  397  	unsigned int idx, tot_dimms = 1;
4aa92c86463273 Robert Richter  2020-02-17  398  	unsigned int tot_csrows = 1, tot_channels = 1;
1f27c79062385a Robert Richter  2020-01-23  399  	bool per_rank = false;
1f27c79062385a Robert Richter  2020-01-23  400  
1f27c79062385a Robert Richter  2020-01-23  401  	if (WARN_ON(n_layers > EDAC_MAX_LAYERS || n_layers == 0))
1f27c79062385a Robert Richter  2020-01-23  402  		return NULL;
1f27c79062385a Robert Richter  2020-01-23  403  
1f27c79062385a Robert Richter  2020-01-23  404  	/*
1f27c79062385a Robert Richter  2020-01-23  405  	 * Calculate the total amount of dimms and csrows/cschannels while
1f27c79062385a Robert Richter  2020-01-23  406  	 * in the old API emulation mode
1f27c79062385a Robert Richter  2020-01-23  407  	 */
1f27c79062385a Robert Richter  2020-01-23  408  	for (idx = 0; idx < n_layers; idx++) {
1f27c79062385a Robert Richter  2020-01-23  409  		tot_dimms *= layers[idx].size;
1f27c79062385a Robert Richter  2020-01-23  410  
1f27c79062385a Robert Richter  2020-01-23  411  		if (layers[idx].is_virt_csrow)
1f27c79062385a Robert Richter  2020-01-23  412  			tot_csrows *= layers[idx].size;
1f27c79062385a Robert Richter  2020-01-23  413  		else
1f27c79062385a Robert Richter  2020-01-23  414  			tot_channels *= layers[idx].size;
1f27c79062385a Robert Richter  2020-01-23  415  
1f27c79062385a Robert Richter  2020-01-23  416  		if (layers[idx].type == EDAC_MC_LAYER_CHIP_SELECT)
1f27c79062385a Robert Richter  2020-01-23  417  			per_rank = true;
1f27c79062385a Robert Richter  2020-01-23  418  	}
1f27c79062385a Robert Richter  2020-01-23  419  
0bbb265f708958 Borislav Petkov 2022-02-20  420  	mci = kzalloc(sizeof(struct mem_ctl_info), GFP_KERNEL);
0bbb265f708958 Borislav Petkov 2022-02-20  421  	if (!mci)
1f27c79062385a Robert Richter  2020-01-23  422  		return NULL;
1f27c79062385a Robert Richter  2020-01-23  423  
0bbb265f708958 Borislav Petkov 2022-02-20  424  	mci->layers = kmalloc_array(n_layers, sizeof(struct edac_mc_layer), GFP_KERNEL | __GFP_ZERO);
0bbb265f708958 Borislav Petkov 2022-02-20  425  	if (!mci->layers)
0bbb265f708958 Borislav Petkov 2022-02-20  426  		goto error;
0bbb265f708958 Borislav Petkov 2022-02-20  427  
0bbb265f708958 Borislav Petkov 2022-02-20  428  	mci->pvt_info = kzalloc(sz_pvt, GFP_KERNEL);
0bbb265f708958 Borislav Petkov 2022-02-20  429  	if (!mci->pvt_info)
0bbb265f708958 Borislav Petkov 2022-02-20  430  		goto error;
0bbb265f708958 Borislav Petkov 2022-02-20  431  
1f27c79062385a Robert Richter  2020-01-23  432  	mci->dev.release = mci_release;
1f27c79062385a Robert Richter  2020-01-23  433  	device_initialize(&mci->dev);
1f27c79062385a Robert Richter  2020-01-23  434  
1f27c79062385a Robert Richter  2020-01-23  435  	/* setup index and various internal pointers */
1f27c79062385a Robert Richter  2020-01-23  436  	mci->mc_idx = mc_num;
1f27c79062385a Robert Richter  2020-01-23  437  	mci->tot_dimms = tot_dimms;
1f27c79062385a Robert Richter  2020-01-23  438  	mci->n_layers = n_layers;
1f27c79062385a Robert Richter  2020-01-23  439  	memcpy(mci->layers, layers, sizeof(*layer) * n_layers);
1f27c79062385a Robert Richter  2020-01-23  440  	mci->nr_csrows = tot_csrows;
1f27c79062385a Robert Richter  2020-01-23  441  	mci->num_cschannel = tot_channels;
1f27c79062385a Robert Richter  2020-01-23  442  	mci->csbased = per_rank;
1f27c79062385a Robert Richter  2020-01-23  443  
1f27c79062385a Robert Richter  2020-01-23  444  	if (edac_mc_alloc_csrows(mci))
1f27c79062385a Robert Richter  2020-01-23  445  		goto error;
1f27c79062385a Robert Richter  2020-01-23  446  
1f27c79062385a Robert Richter  2020-01-23  447  	if (edac_mc_alloc_dimms(mci))
1f27c79062385a Robert Richter  2020-01-23  448  		goto error;
1f27c79062385a Robert Richter  2020-01-23  449  
1f27c79062385a Robert Richter  2020-01-23  450  	mci->op_state = OP_ALLOC;
1f27c79062385a Robert Richter  2020-01-23  451  
1f27c79062385a Robert Richter  2020-01-23  452  	return mci;
1f27c79062385a Robert Richter  2020-01-23  453  
1f27c79062385a Robert Richter  2020-01-23  454  error:
1f27c79062385a Robert Richter  2020-01-23  455  	_edac_mc_free(mci);
1f27c79062385a Robert Richter  2020-01-23  456  
1f27c79062385a Robert Richter  2020-01-23  457  	return NULL;
1f27c79062385a Robert Richter  2020-01-23  458  }
1f27c79062385a Robert Richter  2020-01-23  459  EXPORT_SYMBOL_GPL(edac_mc_alloc);
1f27c79062385a Robert Richter  2020-01-23  460  

:::::: The code at line 396 was first introduced by commit
:::::: 1f27c79062385af38c7c075f0fc174f98164ab2e EDAC/mc: Reorder functions edac_mc_alloc*()

:::::: TO: Robert Richter <rrichter@marvell.com>
:::::: CC: Borislav Petkov <bp@suse.de>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-23 10:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-23 10:11 [linux-next:master 2375/5845] drivers/edac/edac_mc.c:396:24: warning: Variable 'layer' is not assigned a value. [unassignedVariable] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.