From: kernel test robot <lkp@intel.com>
To: "Liam R. Howlett" <Liam.Howlett@Oracle.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
Linux Memory Management List <linux-mm@kvack.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: [linux-next:master 8608/9128] lib/maple_tree.c:473:7: warning: variable 'shift' is used uninitialized whenever switch case is taken
Date: Sun, 27 Feb 2022 03:14:10 +0800 [thread overview]
Message-ID: <202202262240.NbkCh7vR-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 06aeb1495c39c86ccfaf1adadc1d2200179f16eb
commit: 564eadc47f5f72d5fc25b3740452e4fb61cf694e [8608/9128] Maple Tree: Add new data structure
config: mips-buildonly-randconfig-r005-20220225 (https://download.01.org/0day-ci/archive/20220226/202202262240.NbkCh7vR-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=564eadc47f5f72d5fc25b3740452e4fb61cf694e
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 564eadc47f5f72d5fc25b3740452e4fb61cf694e
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> lib/maple_tree.c:473:7: warning: variable 'shift' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
case maple_dense:
^~~~~~~~~~~
lib/maple_tree.c:480:18: note: uninitialized use occurs here
val |= (slot << shift) | type;
^~~~~
lib/maple_tree.c:474:7: warning: variable 'shift' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
case maple_leaf_64:
^~~~~~~~~~~~~
lib/maple_tree.c:480:18: note: uninitialized use occurs here
val |= (slot << shift) | type;
^~~~~
lib/maple_tree.c:463:21: note: initialize the variable 'shift' to silence this warning
unsigned long shift;
^
= 0
>> lib/maple_tree.c:473:7: warning: variable 'type' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
case maple_dense:
^~~~~~~~~~~
lib/maple_tree.c:480:27: note: uninitialized use occurs here
val |= (slot << shift) | type;
^~~~
lib/maple_tree.c:474:7: warning: variable 'type' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
case maple_leaf_64:
^~~~~~~~~~~~~
lib/maple_tree.c:480:27: note: uninitialized use occurs here
val |= (slot << shift) | type;
^~~~
lib/maple_tree.c:464:20: note: initialize the variable 'type' to silence this warning
unsigned long type;
^
= 0
lib/maple_tree.c:5547:6: warning: no previous prototype for function 'mas_wr_store_setup' [-Wmissing-prototypes]
void mas_wr_store_setup(struct ma_wr_state *wr_mas)
^
lib/maple_tree.c:5547:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void mas_wr_store_setup(struct ma_wr_state *wr_mas)
^
static
lib/maple_tree.c:6175:5: warning: no previous prototype for function 'mtree_alloc_range' [-Wmissing-prototypes]
int mtree_alloc_range(struct maple_tree *mt, unsigned long *startp,
^
lib/maple_tree.c:6175:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int mtree_alloc_range(struct maple_tree *mt, unsigned long *startp,
^
static
lib/maple_tree.c:6210:5: warning: no previous prototype for function 'mtree_alloc_rrange' [-Wmissing-prototypes]
int mtree_alloc_rrange(struct maple_tree *mt, unsigned long *startp,
^
lib/maple_tree.c:6210:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int mtree_alloc_rrange(struct maple_tree *mt, unsigned long *startp,
^
static
lib/maple_tree.c:76:28: warning: unused variable 'mt_max' [-Wunused-const-variable]
static const unsigned long mt_max[] = {
^
lib/maple_tree.c:322:20: warning: unused function 'mte_set_full' [-Wunused-function]
static inline void mte_set_full(const struct maple_enode *node)
^
lib/maple_tree.c:327:20: warning: unused function 'mte_clear_full' [-Wunused-function]
static inline void mte_clear_full(const struct maple_enode *node)
^
lib/maple_tree.c:837:35: warning: unused function 'mas_get_slot' [-Wunused-function]
static inline struct maple_enode *mas_get_slot(struct ma_state *mas,
^
lib/maple_tree.c:4599:19: warning: unused function 'mas_dead_node' [-Wunused-function]
static inline int mas_dead_node(struct ma_state *mas, unsigned long index)
^
lib/maple_tree.c:4621:21: warning: unused function 'mas_first_entry' [-Wunused-function]
static inline void *mas_first_entry(struct ma_state *mas, struct maple_node *mn,
^
13 warnings generated.
vim +/shift +473 lib/maple_tree.c
448
449 /*
450 * mte_set_parent() - Set the parent node and encode the slot
451 * @enode: The encoded maple node.
452 * @parent: The encoded maple node that is the parent of @enode.
453 * @slot: The slot that @enode resides in @parent.
454 *
455 * Slot number is encoded in the enode->parent bit 3-6 or 2-6, depending on the
456 * parent type.
457 */
458 static inline
459 void mte_set_parent(struct maple_enode *enode, const struct maple_enode *parent,
460 unsigned char slot)
461 {
462 unsigned long val = (unsigned long) parent;
463 unsigned long shift;
464 unsigned long type;
465 enum maple_type p_type = mte_node_type(parent);
466
467 switch(p_type) {
468 case maple_range_64:
469 case maple_arange_64:
470 shift = MAPLE_PARENT_SLOT_SHIFT;
471 type = MAPLE_PARENT_RANGE64;
472 break;
> 473 case maple_dense:
474 case maple_leaf_64:
475 BUG_ON(1);
476 break;
477 }
478
479 val &= ~MAPLE_NODE_MASK; /* Clear all node metadata in parent */
> 480 val |= (slot << shift) | type;
481 mte_to_node(enode)->parent = ma_parent_ptr(val);
482 }
483
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next reply other threads:[~2022-02-26 19:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-26 19:14 kernel test robot [this message]
2022-02-26 19:21 ` Liam 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=202202262240.NbkCh7vR-lkp@intel.com \
--to=lkp@intel.com \
--cc=Liam.Howlett@Oracle.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-mm@kvack.org \
--cc=llvm@lists.linux.dev \
--cc=willy@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox