All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	maple-tree@lists.infradead.org, linux-kernel@vger.kernel.org,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>
Subject: Re: [PATCH 08/12] maple_tree: Separate ma_state node from status.
Date: Thu, 2 Nov 2023 16:42:42 +0800	[thread overview]
Message-ID: <202311021622.6KoUHJP7-lkp@intel.com> (raw)
In-Reply-To: <20231101171629.3612299-9-Liam.Howlett@oracle.com>

Hi Liam,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on linus/master v6.6 next-20231102]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Liam-R-Howlett/maple_tree-Remove-unnecessary-default-labels-from-switch-statements/20231102-033618
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20231101171629.3612299-9-Liam.Howlett%40oracle.com
patch subject: [PATCH 08/12] maple_tree: Separate ma_state node from status.
config: arc-randconfig-001-20231102 (https://download.01.org/0day-ci/archive/20231102/202311021622.6KoUHJP7-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231102/202311021622.6KoUHJP7-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311021622.6KoUHJP7-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/base/regmap/regcache-maple.c: In function 'regcache_maple_drop':
   drivers/base/regmap/regcache-maple.c:113:23: warning: 'lower_index' is used uninitialized [-Wuninitialized]
     113 |         unsigned long lower_index, lower_last;
         |                       ^~~~~~~~~~~
   drivers/base/regmap/regcache-maple.c:113:36: warning: 'lower_last' is used uninitialized [-Wuninitialized]
     113 |         unsigned long lower_index, lower_last;
         |                                    ^~~~~~~~~~
>> drivers/base/regmap/regcache-maple.c:114:23: warning: 'upper_index' is used uninitialized [-Wuninitialized]
     114 |         unsigned long upper_index, upper_last;
         |                       ^~~~~~~~~~~
>> drivers/base/regmap/regcache-maple.c:114:36: warning: 'upper_last' is used uninitialized [-Wuninitialized]
     114 |         unsigned long upper_index, upper_last;
         |                                    ^~~~~~~~~~


vim +/upper_index +114 drivers/base/regmap/regcache-maple.c

f033c26de5a5734 Mark Brown    2023-03-30  106  
f033c26de5a5734 Mark Brown    2023-03-30  107  static int regcache_maple_drop(struct regmap *map, unsigned int min,
f033c26de5a5734 Mark Brown    2023-03-30  108  			       unsigned int max)
f033c26de5a5734 Mark Brown    2023-03-30  109  {
f033c26de5a5734 Mark Brown    2023-03-30  110  	struct maple_tree *mt = map->cache;
f033c26de5a5734 Mark Brown    2023-03-30  111  	MA_STATE(mas, mt, min, max);
f033c26de5a5734 Mark Brown    2023-03-30  112  	unsigned long *entry, *lower, *upper;
f033c26de5a5734 Mark Brown    2023-03-30  113  	unsigned long lower_index, lower_last;
f033c26de5a5734 Mark Brown    2023-03-30 @114  	unsigned long upper_index, upper_last;
f033c26de5a5734 Mark Brown    2023-03-30  115  	int ret;
f033c26de5a5734 Mark Brown    2023-03-30  116  
f033c26de5a5734 Mark Brown    2023-03-30  117  	lower = NULL;
f033c26de5a5734 Mark Brown    2023-03-30  118  	upper = NULL;
f033c26de5a5734 Mark Brown    2023-03-30  119  
f033c26de5a5734 Mark Brown    2023-03-30  120  	mas_lock(&mas);
f033c26de5a5734 Mark Brown    2023-03-30  121  
f033c26de5a5734 Mark Brown    2023-03-30  122  	mas_for_each(&mas, entry, max) {
f033c26de5a5734 Mark Brown    2023-03-30  123  		/*
f033c26de5a5734 Mark Brown    2023-03-30  124  		 * This is safe because the regmap lock means the
f033c26de5a5734 Mark Brown    2023-03-30  125  		 * Maple lock is redundant, but we need to take it due
f033c26de5a5734 Mark Brown    2023-03-30  126  		 * to lockdep asserts in the maple tree code.
f033c26de5a5734 Mark Brown    2023-03-30  127  		 */
f033c26de5a5734 Mark Brown    2023-03-30  128  		mas_unlock(&mas);
f033c26de5a5734 Mark Brown    2023-03-30  129  
f033c26de5a5734 Mark Brown    2023-03-30  130  		/* Do we need to save any of this entry? */
f033c26de5a5734 Mark Brown    2023-03-30  131  		if (mas.index < min) {
f033c26de5a5734 Mark Brown    2023-03-30  132  			lower_index = mas.index;
f033c26de5a5734 Mark Brown    2023-03-30  133  			lower_last = min -1;
f033c26de5a5734 Mark Brown    2023-03-30  134  
f033c26de5a5734 Mark Brown    2023-03-30  135  			lower = kmemdup(entry, ((min - mas.index) *
f033c26de5a5734 Mark Brown    2023-03-30  136  						sizeof(unsigned long)),
b0393e1fe40e962 Guenter Roeck 2023-07-20  137  					map->alloc_flags);
f033c26de5a5734 Mark Brown    2023-03-30  138  			if (!lower) {
f033c26de5a5734 Mark Brown    2023-03-30  139  				ret = -ENOMEM;
451941ac1ee2be1 Mark Brown    2023-04-03  140  				goto out_unlocked;
f033c26de5a5734 Mark Brown    2023-03-30  141  			}
f033c26de5a5734 Mark Brown    2023-03-30  142  		}
f033c26de5a5734 Mark Brown    2023-03-30  143  
f033c26de5a5734 Mark Brown    2023-03-30  144  		if (mas.last > max) {
f033c26de5a5734 Mark Brown    2023-03-30  145  			upper_index = max + 1;
f033c26de5a5734 Mark Brown    2023-03-30  146  			upper_last = mas.last;
f033c26de5a5734 Mark Brown    2023-03-30  147  
f033c26de5a5734 Mark Brown    2023-03-30  148  			upper = kmemdup(&entry[max + 1],
f033c26de5a5734 Mark Brown    2023-03-30  149  					((mas.last - max) *
f033c26de5a5734 Mark Brown    2023-03-30  150  					 sizeof(unsigned long)),
b0393e1fe40e962 Guenter Roeck 2023-07-20  151  					map->alloc_flags);
f033c26de5a5734 Mark Brown    2023-03-30  152  			if (!upper) {
f033c26de5a5734 Mark Brown    2023-03-30  153  				ret = -ENOMEM;
451941ac1ee2be1 Mark Brown    2023-04-03  154  				goto out_unlocked;
f033c26de5a5734 Mark Brown    2023-03-30  155  			}
f033c26de5a5734 Mark Brown    2023-03-30  156  		}
f033c26de5a5734 Mark Brown    2023-03-30  157  
f033c26de5a5734 Mark Brown    2023-03-30  158  		kfree(entry);
f033c26de5a5734 Mark Brown    2023-03-30  159  		mas_lock(&mas);
f033c26de5a5734 Mark Brown    2023-03-30  160  		mas_erase(&mas);
f033c26de5a5734 Mark Brown    2023-03-30  161  
f033c26de5a5734 Mark Brown    2023-03-30  162  		/* Insert new nodes with the saved data */
f033c26de5a5734 Mark Brown    2023-03-30  163  		if (lower) {
f033c26de5a5734 Mark Brown    2023-03-30  164  			mas_set_range(&mas, lower_index, lower_last);
b0393e1fe40e962 Guenter Roeck 2023-07-20  165  			ret = mas_store_gfp(&mas, lower, map->alloc_flags);
f033c26de5a5734 Mark Brown    2023-03-30  166  			if (ret != 0)
f033c26de5a5734 Mark Brown    2023-03-30  167  				goto out;
f033c26de5a5734 Mark Brown    2023-03-30  168  			lower = NULL;
f033c26de5a5734 Mark Brown    2023-03-30  169  		}
f033c26de5a5734 Mark Brown    2023-03-30  170  
f033c26de5a5734 Mark Brown    2023-03-30  171  		if (upper) {
f033c26de5a5734 Mark Brown    2023-03-30  172  			mas_set_range(&mas, upper_index, upper_last);
b0393e1fe40e962 Guenter Roeck 2023-07-20  173  			ret = mas_store_gfp(&mas, upper, map->alloc_flags);
f033c26de5a5734 Mark Brown    2023-03-30  174  			if (ret != 0)
f033c26de5a5734 Mark Brown    2023-03-30  175  				goto out;
f033c26de5a5734 Mark Brown    2023-03-30  176  			upper = NULL;
f033c26de5a5734 Mark Brown    2023-03-30  177  		}
f033c26de5a5734 Mark Brown    2023-03-30  178  	}
f033c26de5a5734 Mark Brown    2023-03-30  179  
f033c26de5a5734 Mark Brown    2023-03-30  180  out:
f033c26de5a5734 Mark Brown    2023-03-30  181  	mas_unlock(&mas);
451941ac1ee2be1 Mark Brown    2023-04-03  182  out_unlocked:
f033c26de5a5734 Mark Brown    2023-03-30  183  	kfree(lower);
f033c26de5a5734 Mark Brown    2023-03-30  184  	kfree(upper);
f033c26de5a5734 Mark Brown    2023-03-30  185  
f033c26de5a5734 Mark Brown    2023-03-30  186  	return ret;
f033c26de5a5734 Mark Brown    2023-03-30  187  }
f033c26de5a5734 Mark Brown    2023-03-30  188  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2023-11-02  8:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-01 17:16 [PATCH 00/12] maple_tree: iterator state changes Liam R. Howlett
2023-11-01 17:16 ` [PATCH 01/12] maple_tree: Remove unnecessary default labels from switch statements Liam R. Howlett
2023-11-01 17:16 ` [PATCH 02/12] maple_tree: Make mas_erase() more robust Liam R. Howlett
2023-11-01 17:16 ` [PATCH 03/12] maple_tree: Move debug check to __mas_set_range() Liam R. Howlett
2023-11-01 17:16 ` [PATCH 04/12] maple_tree: Add end of node tracking to the maple state Liam R. Howlett
2023-11-01 17:16 ` [PATCH 05/12] maple_tree: Use cached node end in mas_next() Liam R. Howlett
2023-11-01 17:16 ` [PATCH 06/12] maple_tree: Use cached node end in mas_destroy() Liam R. Howlett
2023-11-01 17:16 ` [PATCH 07/12] maple_tree: Clean up inlines for some functions Liam R. Howlett
2023-11-01 17:16 ` [PATCH 08/12] maple_tree: Separate ma_state node from status Liam R. Howlett
2023-11-02  8:42   ` kernel test robot [this message]
2023-11-02 17:39     ` Liam R. Howlett
2023-11-06 15:41   ` [PATCH] maple_tree: Fix comments about MAS_* Liam R. Howlett
2023-11-06 15:45   ` [PATCH] maple_tree: Update forking to separate maple state and node Liam R. Howlett
2023-11-01 17:16 ` [PATCH 09/12] maple_tree: Remove mas_searchable() Liam R. Howlett
2023-11-01 17:16 ` [PATCH 10/12] maple_tree: Use maple state end for write operations Liam R. Howlett
2023-11-01 17:16 ` [PATCH 11/12] maple_tree: Don't find node end in mtree_lookup_walk() Liam R. Howlett
2023-11-01 17:16 ` [PATCH 12/12] maple_tree: mtree_range_walk() clean up Liam R. Howlett

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=202311021622.6KoUHJP7-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=maple-tree@lists.infradead.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.