All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [koverstreet-bcachefs:master 464/903] fs/bcachefs/journal/sb.c:213 bch2_journal_buckets_to_sb() error: we previously assumed 'c' could be null (see line 197)
Date: Mon, 17 Nov 2025 18:37:25 +0800	[thread overview]
Message-ID: <202511171844.Cww9WIp3-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Kent Overstreet <kent.overstreet@linux.dev>

tree:   https://github.com/koverstreet/bcachefs master
head:   ca748d1945bfa1208b1d32e5a246a352b09ad271
commit: 3d1f4469e2743eb10d5450c26d37cac439a002f1 [464/903] bcachefs: move journal code to subdir
:::::: branch date: 8 hours ago
:::::: commit date: 3 weeks ago
config: x86_64-randconfig-r073-20251117 (https://download.01.org/0day-ci/archive/20251117/202511171844.Cww9WIp3-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)

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/202511171844.Cww9WIp3-lkp@intel.com/

smatch warnings:
fs/bcachefs/journal/sb.c:213 bch2_journal_buckets_to_sb() error: we previously assumed 'c' could be null (see line 197)

vim +/c +213 fs/bcachefs/journal/sb.c

25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  190  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  191  int bch2_journal_buckets_to_sb(struct bch_fs *c, struct bch_dev *ca,
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  192  			       u64 *buckets, unsigned nr)
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  193  {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  194  	struct bch_sb_field_journal_v2 *j;
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  195  	unsigned i, dst = 0, nr_compacted = 1;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  196  
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10 @197  	if (c)
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  198  		lockdep_assert_held(&c->sb_lock);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  199  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  200  	if (!nr) {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  201  		bch2_sb_field_delete(&ca->disk_sb, BCH_SB_FIELD_journal);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  202  		bch2_sb_field_delete(&ca->disk_sb, BCH_SB_FIELD_journal_v2);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  203  		return 0;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  204  	}
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  205  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  206  	for (i = 0; i + 1 < nr; i++)
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  207  		if (buckets[i] + 1 != buckets[i + 1])
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  208  			nr_compacted++;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  209  
4637429e3946d0 fs/bcachefs/journal_sb.c Kent Overstreet 2023-09-26  210  	j = bch2_sb_field_resize(&ca->disk_sb, journal_v2,
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  211  			 (sizeof(*j) + sizeof(j->d[0]) * nr_compacted) / sizeof(u64));
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  212  	if (!j)
09b9c72bd4b77a fs/bcachefs/journal_sb.c Kent Overstreet 2025-05-28 @213  		return bch_err_throw(c, ENOSPC_sb_journal);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  214  
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  215  	bch2_sb_field_delete(&ca->disk_sb, BCH_SB_FIELD_journal);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  216  
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  217  	j->d[dst].start = cpu_to_le64(buckets[0]);
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  218  	j->d[dst].nr	= cpu_to_le64(1);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  219  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  220  	for (i = 1; i < nr; i++) {
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  221  		if (buckets[i] == buckets[i - 1] + 1) {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  222  			le64_add_cpu(&j->d[dst].nr, 1);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  223  		} else {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  224  			dst++;
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  225  			j->d[dst].start = cpu_to_le64(buckets[i]);
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  226  			j->d[dst].nr	= cpu_to_le64(1);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  227  		}
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  228  	}
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  229  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  230  	BUG_ON(dst + 1 != nr_compacted);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  231  	return 0;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  232  }
8e7d3f6a43f5c9 fs/bcachefs/journal_sb.c Kent Overstreet 2025-09-02  233  

:::::: The code at line 213 was first introduced by commit
:::::: 09b9c72bd4b77a954123997377665fb30f1d07e1 bcachefs: bch_err_throw()

:::::: TO: Kent Overstreet <kent.overstreet@linux.dev>
:::::: CC: Kent Overstreet <kent.overstreet@linux.dev>

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

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, Kent Overstreet <kent.overstreet@linux.dev>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev
Subject: [koverstreet-bcachefs:master 464/903] fs/bcachefs/journal/sb.c:213 bch2_journal_buckets_to_sb() error: we previously assumed 'c' could be null (see line 197)
Date: Wed, 19 Nov 2025 14:42:06 +0300	[thread overview]
Message-ID: <202511171844.Cww9WIp3-lkp@intel.com> (raw)
Message-ID: <20251119114206.TMPnuVkeGZQEZwy93SKAFXJ-e-FvMqgdwHYNVmxZLDY@z> (raw)

tree:   https://github.com/koverstreet/bcachefs master
head:   ca748d1945bfa1208b1d32e5a246a352b09ad271
commit: 3d1f4469e2743eb10d5450c26d37cac439a002f1 [464/903] bcachefs: move journal code to subdir
config: x86_64-randconfig-r073-20251117 (https://download.01.org/0day-ci/archive/20251117/202511171844.Cww9WIp3-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)

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/202511171844.Cww9WIp3-lkp@intel.com/

smatch warnings:
fs/bcachefs/journal/sb.c:213 bch2_journal_buckets_to_sb() error: we previously assumed 'c' could be null (see line 197)

vim +/c +213 fs/bcachefs/journal/sb.c

2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  191  int bch2_journal_buckets_to_sb(struct bch_fs *c, struct bch_dev *ca,
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  192  			       u64 *buckets, unsigned nr)
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  193  {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  194  	struct bch_sb_field_journal_v2 *j;
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  195  	unsigned i, dst = 0, nr_compacted = 1;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  196  
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10 @197  	if (c)

This assumes c can be NULL.

25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  198  		lockdep_assert_held(&c->sb_lock);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  199  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  200  	if (!nr) {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  201  		bch2_sb_field_delete(&ca->disk_sb, BCH_SB_FIELD_journal);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  202  		bch2_sb_field_delete(&ca->disk_sb, BCH_SB_FIELD_journal_v2);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  203  		return 0;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  204  	}
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  205  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  206  	for (i = 0; i + 1 < nr; i++)
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  207  		if (buckets[i] + 1 != buckets[i + 1])
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  208  			nr_compacted++;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  209  
4637429e3946d0 fs/bcachefs/journal_sb.c Kent Overstreet 2023-09-26  210  	j = bch2_sb_field_resize(&ca->disk_sb, journal_v2,
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  211  			 (sizeof(*j) + sizeof(j->d[0]) * nr_compacted) / sizeof(u64));
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  212  	if (!j)
09b9c72bd4b77a fs/bcachefs/journal_sb.c Kent Overstreet 2025-05-28 @213  		return bch_err_throw(c, ENOSPC_sb_journal);
                                                                                                             ^
Unchecked dereference.

25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  214  
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  215  	bch2_sb_field_delete(&ca->disk_sb, BCH_SB_FIELD_journal);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  216  
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  217  	j->d[dst].start = cpu_to_le64(buckets[0]);
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  218  	j->d[dst].nr	= cpu_to_le64(1);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  219  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  220  	for (i = 1; i < nr; i++) {
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  221  		if (buckets[i] == buckets[i - 1] + 1) {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  222  			le64_add_cpu(&j->d[dst].nr, 1);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  223  		} else {
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  224  			dst++;
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  225  			j->d[dst].start = cpu_to_le64(buckets[i]);
73bd774d28d2b2 fs/bcachefs/journal_sb.c Kent Overstreet 2023-07-06  226  			j->d[dst].nr	= cpu_to_le64(1);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  227  		}
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  228  	}
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  229  
2640faeb1741db fs/bcachefs/journal_sb.c Kent Overstreet 2023-03-06  230  	BUG_ON(dst + 1 != nr_compacted);
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  231  	return 0;
25be2e5d4a051f fs/bcachefs/journal_sb.c Kent Overstreet 2022-03-10  232  }

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


             reply	other threads:[~2025-11-17 10:37 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-17 10:37 kernel test robot [this message]
2025-11-19 11:42 ` [koverstreet-bcachefs:master 464/903] fs/bcachefs/journal/sb.c:213 bch2_journal_buckets_to_sb() error: we previously assumed 'c' could be null (see line 197) Dan Carpenter

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=202511171844.Cww9WIp3-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@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.