* [colyli-bcache:for-next 4/7] drivers/md/bcache/btree.c:1511 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR()
@ 2023-06-10 23:21 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2023-06-10 23:21 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Zheng Wang <zyytlz.wz@163.com>
CC: Coly Li <colyli@suse.de>
Hi Zheng,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git for-next
head: 313c29cf50657b993b76a2df466b9c09ac8f3d83
commit: 71e765f4f8e55289201daa575331e011f80c0b12 [4/7] bcache: Remove some unnecessary NULL point check for the return value of __bch_btree_node_alloc-related pointer
:::::: branch date: 5 days ago
:::::: commit date: 11 days ago
config: parisc-randconfig-m031-20230608 (https://download.01.org/0day-ci/archive/20230611/202306110753.VR6S20cb-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 12.3.0
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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202306110753.VR6S20cb-lkp@intel.com/
New smatch warnings:
drivers/md/bcache/btree.c:1511 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR()
Old smatch warnings:
arch/parisc/include/asm/hash.h:44 __hash_32() warn: inconsistent indenting
drivers/md/bcache/btree.c:1527 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR()
vim +/n +1511 drivers/md/bcache/btree.c
cafe563591446c Kent Overstreet 2013-03-23 1496
0a63b66db566cf Kent Overstreet 2014-03-17 1497 static int btree_gc_rewrite_node(struct btree *b, struct btree_op *op,
0a63b66db566cf Kent Overstreet 2014-03-17 1498 struct btree *replace)
0a63b66db566cf Kent Overstreet 2014-03-17 1499 {
0a63b66db566cf Kent Overstreet 2014-03-17 1500 struct keylist keys;
0a63b66db566cf Kent Overstreet 2014-03-17 1501 struct btree *n;
0a63b66db566cf Kent Overstreet 2014-03-17 1502
0a63b66db566cf Kent Overstreet 2014-03-17 1503 if (btree_check_reserve(b, NULL))
0a63b66db566cf Kent Overstreet 2014-03-17 1504 return 0;
0a63b66db566cf Kent Overstreet 2014-03-17 1505
0a63b66db566cf Kent Overstreet 2014-03-17 1506 n = btree_node_alloc_replacement(replace, NULL);
0a63b66db566cf Kent Overstreet 2014-03-17 1507
0a63b66db566cf Kent Overstreet 2014-03-17 1508 /* recheck reserve after allocating replacement node */
0a63b66db566cf Kent Overstreet 2014-03-17 1509 if (btree_check_reserve(b, NULL)) {
0a63b66db566cf Kent Overstreet 2014-03-17 1510 btree_node_free(n);
0a63b66db566cf Kent Overstreet 2014-03-17 @1511 rw_unlock(true, n);
0a63b66db566cf Kent Overstreet 2014-03-17 1512 return 0;
0a63b66db566cf Kent Overstreet 2014-03-17 1513 }
0a63b66db566cf Kent Overstreet 2014-03-17 1514
0a63b66db566cf Kent Overstreet 2014-03-17 1515 bch_btree_node_write_sync(n);
0a63b66db566cf Kent Overstreet 2014-03-17 1516
0a63b66db566cf Kent Overstreet 2014-03-17 1517 bch_keylist_init(&keys);
0a63b66db566cf Kent Overstreet 2014-03-17 1518 bch_keylist_add(&keys, &n->key);
0a63b66db566cf Kent Overstreet 2014-03-17 1519
0a63b66db566cf Kent Overstreet 2014-03-17 1520 make_btree_freeing_key(replace, keys.top);
0a63b66db566cf Kent Overstreet 2014-03-17 1521 bch_keylist_push(&keys);
0a63b66db566cf Kent Overstreet 2014-03-17 1522
0a63b66db566cf Kent Overstreet 2014-03-17 1523 bch_btree_insert_node(b, op, &keys, NULL, NULL);
0a63b66db566cf Kent Overstreet 2014-03-17 1524 BUG_ON(!bch_keylist_empty(&keys));
0a63b66db566cf Kent Overstreet 2014-03-17 1525
0a63b66db566cf Kent Overstreet 2014-03-17 1526 btree_node_free(replace);
0a63b66db566cf Kent Overstreet 2014-03-17 1527 rw_unlock(true, n);
0a63b66db566cf Kent Overstreet 2014-03-17 1528
0a63b66db566cf Kent Overstreet 2014-03-17 1529 /* Invalidated our iterator */
0a63b66db566cf Kent Overstreet 2014-03-17 1530 return -EINTR;
0a63b66db566cf Kent Overstreet 2014-03-17 1531 }
0a63b66db566cf Kent Overstreet 2014-03-17 1532
:::::: The code at line 1511 was first introduced by commit
:::::: 0a63b66db566cffdf90182eb6e66fdd4d0479e63 bcache: Rework btree cache reserve handling
:::::: TO: Kent Overstreet <kmo@daterainc.com>
:::::: CC: Kent Overstreet <kmo@daterainc.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [colyli-bcache:for-next 4/7] drivers/md/bcache/btree.c:1511 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR()
@ 2023-06-12 5:07 Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2023-06-12 5:07 UTC (permalink / raw)
To: oe-kbuild, Zheng Wang; +Cc: lkp, oe-kbuild-all, Coly Li
[ This patch didn't introduce the bug, it just make the code more
clear for static analysis so that's why the warning is printed -dan ]
Hi Zheng,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git for-next
head: 313c29cf50657b993b76a2df466b9c09ac8f3d83
commit: 71e765f4f8e55289201daa575331e011f80c0b12 [4/7] bcache: Remove some unnecessary NULL point check for the return value of __bch_btree_node_alloc-related pointer
config: parisc-randconfig-m031-20230608 (https://download.01.org/0day-ci/archive/20230611/202306110753.VR6S20cb-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 12.3.0
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>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202306110753.VR6S20cb-lkp@intel.com/
New smatch warnings:
drivers/md/bcache/btree.c:1511 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR()
Old smatch warnings:
drivers/md/bcache/btree.c:1527 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR()
vim +/n +1511 drivers/md/bcache/btree.c
0a63b66db566cf Kent Overstreet 2014-03-17 1497 static int btree_gc_rewrite_node(struct btree *b, struct btree_op *op,
0a63b66db566cf Kent Overstreet 2014-03-17 1498 struct btree *replace)
0a63b66db566cf Kent Overstreet 2014-03-17 1499 {
0a63b66db566cf Kent Overstreet 2014-03-17 1500 struct keylist keys;
0a63b66db566cf Kent Overstreet 2014-03-17 1501 struct btree *n;
0a63b66db566cf Kent Overstreet 2014-03-17 1502
0a63b66db566cf Kent Overstreet 2014-03-17 1503 if (btree_check_reserve(b, NULL))
0a63b66db566cf Kent Overstreet 2014-03-17 1504 return 0;
0a63b66db566cf Kent Overstreet 2014-03-17 1505
0a63b66db566cf Kent Overstreet 2014-03-17 1506 n = btree_node_alloc_replacement(replace, NULL);
No checks for error.
0a63b66db566cf Kent Overstreet 2014-03-17 1507
0a63b66db566cf Kent Overstreet 2014-03-17 1508 /* recheck reserve after allocating replacement node */
0a63b66db566cf Kent Overstreet 2014-03-17 1509 if (btree_check_reserve(b, NULL)) {
0a63b66db566cf Kent Overstreet 2014-03-17 1510 btree_node_free(n);
0a63b66db566cf Kent Overstreet 2014-03-17 @1511 rw_unlock(true, n);
0a63b66db566cf Kent Overstreet 2014-03-17 1512 return 0;
0a63b66db566cf Kent Overstreet 2014-03-17 1513 }
0a63b66db566cf Kent Overstreet 2014-03-17 1514
0a63b66db566cf Kent Overstreet 2014-03-17 1515 bch_btree_node_write_sync(n);
0a63b66db566cf Kent Overstreet 2014-03-17 1516
0a63b66db566cf Kent Overstreet 2014-03-17 1517 bch_keylist_init(&keys);
0a63b66db566cf Kent Overstreet 2014-03-17 1518 bch_keylist_add(&keys, &n->key);
0a63b66db566cf Kent Overstreet 2014-03-17 1519
0a63b66db566cf Kent Overstreet 2014-03-17 1520 make_btree_freeing_key(replace, keys.top);
0a63b66db566cf Kent Overstreet 2014-03-17 1521 bch_keylist_push(&keys);
0a63b66db566cf Kent Overstreet 2014-03-17 1522
0a63b66db566cf Kent Overstreet 2014-03-17 1523 bch_btree_insert_node(b, op, &keys, NULL, NULL);
0a63b66db566cf Kent Overstreet 2014-03-17 1524 BUG_ON(!bch_keylist_empty(&keys));
0a63b66db566cf Kent Overstreet 2014-03-17 1525
0a63b66db566cf Kent Overstreet 2014-03-17 1526 btree_node_free(replace);
0a63b66db566cf Kent Overstreet 2014-03-17 1527 rw_unlock(true, n);
0a63b66db566cf Kent Overstreet 2014-03-17 1528
0a63b66db566cf Kent Overstreet 2014-03-17 1529 /* Invalidated our iterator */
0a63b66db566cf Kent Overstreet 2014-03-17 1530 return -EINTR;
0a63b66db566cf Kent Overstreet 2014-03-17 1531 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-06-12 5:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-10 23:21 [colyli-bcache:for-next 4/7] drivers/md/bcache/btree.c:1511 btree_gc_rewrite_node() error: 'n' dereferencing possible ERR_PTR() kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2023-06-12 5:07 Dan Carpenter
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.