[bcachefs:master 1132/1155] fs/bcachefs/btree/bset.c:297 __bch2_verify_insert_pos() error: we previously assumed 'prev' could be null (see line 261)

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
CC: Kent Overstreet <[email protected]>
TO: Kent Overstreet <[email protected]>

tree:   https://evilpiepirate.org/git/bcachefs.git master
head:   ca944a61e079450f82be88c91e349638c75cf4b6
commit: 2869354f0ae41176f4b4c178978020ad4cdf075e [1132/1155] bcachefs: bch2_btree_node_keys_to_text()
:::::: branch date: 9 weeks ago
:::::: commit date: 7 months ago
config: x86_64-randconfig-161 (https://download.01.org/0day-ci/archive/20260719/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9185-gbcc58b9c

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 <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

smatch warnings:
fs/bcachefs/btree/bset.c:297 __bch2_verify_insert_pos() error: we previously assumed 'prev' could be null (see line 261)

vim +/prev +297 fs/bcachefs/btree/bset.c

1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  250  
34aeb820f90052 fs/bcachefs/bset.c       Kent Overstreet 2025-05-10  251  static void __bch2_verify_insert_pos(struct btree *b, struct bkey_packed *where,
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  252  				     struct bkey_packed *insert, unsigned clobber_u64s)
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  253  {
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  254  	struct bset_tree *t = bch2_bkey_to_bset(b, where);
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  255  	struct bkey_packed *prev = bch2_bkey_prev_all(b, t, where);
5cfd69775eb546 fs/bcachefs/bset.c       Kent Overstreet 2023-09-09  256  	struct bkey_packed *next = (void *) ((u64 *) where->_data + clobber_u64s);
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  257  #if 0
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  258  	BUG_ON(prev &&
a00fd8c535d91c fs/bcachefs/bset.c       Kent Overstreet 2018-08-21  259  	       bkey_iter_cmp(b, prev, insert) > 0);
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  260  #else
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21 @261  	if (prev &&
a00fd8c535d91c fs/bcachefs/bset.c       Kent Overstreet 2018-08-21  262  	    bkey_iter_cmp(b, prev, insert) > 0) {
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  263  		CLASS(printbuf, buf)();
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  264  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  265  		bch2_btree_node_bsets_to_text(&buf, NULL, b);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  266  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  267  		prt_str(&buf, "prev > insert:\n");
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  268  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  269  		prt_str(&buf, "prev    key ");
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  270  		struct bkey k1 = bkey_unpack_key(b, prev);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  271  		bch2_bkey_to_text(&buf, &k1);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  272  		prt_newline(&buf);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  273  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  274  		prt_str(&buf, "insert  key ");
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  275  		struct bkey k2 = bkey_unpack_key(b, insert);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  276  		bch2_bkey_to_text(&buf, &k2);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  277  		prt_newline(&buf);
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  278  
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  279  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  280  		bch2_print_string_as_lines(KERN_ERR, buf.buf);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  281  		panic("%s\n", __func__);
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  282  	}
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  283  #endif
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  284  #if 0
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  285  	BUG_ON(next != btree_bkey_last(b, t) &&
a00fd8c535d91c fs/bcachefs/bset.c       Kent Overstreet 2018-08-21  286  	       bkey_iter_cmp(b, insert, next) > 0);
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  287  #else
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  288  	if (next != btree_bkey_last(b, t) &&
a00fd8c535d91c fs/bcachefs/bset.c       Kent Overstreet 2018-08-21  289  	    bkey_iter_cmp(b, insert, next) > 0) {
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  290  		CLASS(printbuf, buf)();
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  291  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  292  		bch2_btree_node_bsets_to_text(&buf, NULL, b);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  293  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  294  		prt_str(&buf, "insert > next:\n");
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  295  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  296  		prt_str(&buf, "prev    key ");
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12 @297  		struct bkey k1 = bkey_unpack_key(b, prev);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  298  		bch2_bkey_to_text(&buf, &k1);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  299  		prt_newline(&buf);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  300  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  301  		prt_str(&buf, "insert  key ");
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  302  		struct bkey k2 = bkey_unpack_key(b, insert);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  303  		bch2_bkey_to_text(&buf, &k2);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  304  		prt_newline(&buf);
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  305  
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  306  
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  307  		bch2_print_string_as_lines(KERN_ERR, buf.buf);
2869354f0ae411 fs/bcachefs/btree/bset.c Kent Overstreet 2025-12-12  308  		panic("%s\n", __func__);
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  309  	}
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  310  #endif
1c6fdbd8f2465d fs/bcachefs/bset.c       Kent Overstreet 2017-03-16  311  }
271a3d3a4b30dc fs/bcachefs/bset.c       Kent Overstreet 2016-07-21  312  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.