All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [linux-next:master 2375/5845] drivers/edac/edac_mc.c:396:24: warning: Variable 'layer' is not assigned a value. [unassignedVariable]
Date: Sat, 23 Apr 2022 18:11:07 +0800	[thread overview]
Message-ID: <202204231858.qFPTCBTL-lkp@intel.com> (raw)

[-- 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

                 reply	other threads:[~2022-04-23 10:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202204231858.qFPTCBTL-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.