From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: [linux-next:master 7634/8795] fs/bcachefs/sb-members.c:505:46: sparse: sparse: cannot dereference this type
Date: Tue, 3 Sep 2024 18:06:04 +0800 [thread overview]
Message-ID: <202409031808.CPMMUdNT-lkp@intel.com> (raw)
::::::
:::::: Manual check reason: "low confidence static check warning: fs/bcachefs/sb-members.c:505:46: sparse: sparse: cannot dereference this type"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Kent Overstreet <kent.overstreet@linux.dev>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 6804f0edbe7747774e6ae60f20cec4ee3ad7c187
commit: 4e7795eda4459bf3e69c87c793bc34f610f9d981 [7634/8795] bcachefs: bch2_sb_member_alloc()
:::::: branch date: 3 hours ago
:::::: commit date: 31 hours ago
config: x86_64-randconfig-122-20240903 (https://download.01.org/0day-ci/archive/20240903/202409031808.CPMMUdNT-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240903/202409031808.CPMMUdNT-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/r/202409031808.CPMMUdNT-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
fs/bcachefs/sb-members.c: note: in included file:
fs/bcachefs/bcachefs.h:996:9: sparse: sparse: array of flexible structures
fs/bcachefs/sb-members.c:503:9: sparse: sparse: typename in expression
fs/bcachefs/sb-members.c:503:18: sparse: sparse: Expected ; at end of statement
fs/bcachefs/sb-members.c:503:18: sparse: sparse: got nr_devices
fs/bcachefs/sb-members.c:503:31: sparse: sparse: Expected ; at the end of type declaration
fs/bcachefs/sb-members.c:503:31: sparse: sparse: got )
fs/bcachefs/sb-members.c:505:46: sparse: sparse: undefined identifier 'c'
>> fs/bcachefs/sb-members.c:505:46: sparse: sparse: cannot dereference this type
>> fs/bcachefs/sb-members.c:505:46: sparse: sparse: cannot dereference this type
fs/bcachefs/sb-members.c:509:14: sparse: sparse: undefined identifier 'c'
fs/bcachefs/sb-members.c:509:14: sparse: sparse: cannot dereference this type
fs/bcachefs/sb-members.c:509:14: sparse: sparse: cannot dereference this type
fs/bcachefs/sb-members.c:510:13: sparse: sparse: Expected ) in function declarator
fs/bcachefs/sb-members.c:510:13: sparse: sparse: got !
>> fs/bcachefs/sb-members.c:510:9: sparse: sparse: Trying to use reserved word 'if' as identifier
fs/bcachefs/sb-members.c:513:10: sparse: sparse: Expected ; at end of declaration
fs/bcachefs/sb-members.c:513:10: sparse: sparse: got ->
>> fs/bcachefs/sb-members.c:514:9: sparse: sparse: Trying to use reserved word 'return' as identifier
fs/bcachefs/sb-members.c:514:16: sparse: sparse: Expected ; at end of declaration
fs/bcachefs/sb-members.c:514:16: sparse: sparse: got dev_idx
fs/bcachefs/sb-members.c:515:1: sparse: sparse: Expected ; at the end of type declaration
fs/bcachefs/sb-members.c:515:1: sparse: sparse: got }
fs/bcachefs/sb-members.c:503:9: sparse: sparse: undefined identifier 'unsigned'
fs/bcachefs/sb-members.c:503:31: sparse: sparse: undefined identifier '__UNIQUE_ID_x_653'
fs/bcachefs/sb-members.c:505:46: sparse: sparse: undefined identifier 'c'
>> fs/bcachefs/sb-members.c:505:46: sparse: sparse: non-scalar type in conditional:
fs/bcachefs/sb-members.c:505:46: sparse: bad type _ptr
fs/bcachefs/sb-members.c:506:25: sparse: sparse: undefined identifier 'nr_devices'
fs/bcachefs/sb-members.c:509:14: sparse: sparse: undefined identifier 'c'
fs/bcachefs/sb-members.c:509:14: sparse: sparse: non-scalar type in conditional:
fs/bcachefs/sb-members.c:509:14: sparse: bad type _ptr
fs/bcachefs/sb-members.c:509:9: sparse: sparse: symbol 'mi' has multiple initializers (originally initialized at fs/bcachefs/sb-members.c:505)
fs/bcachefs/sb-members.c:509:9: sparse: sparse: symbol 'mi' redeclared with different type (different base types):
fs/bcachefs/sb-members.c:509:9: sparse: int [addressable] [toplevel] mi
fs/bcachefs/sb-members.c:505:40: sparse: note: previously declared as:
fs/bcachefs/sb-members.c:505:40: sparse: struct bch_sb_field_members_v2 *[addressable] [toplevel] mi
vim +505 fs/bcachefs/sb-members.c
4e7795eda4459bf Kent Overstreet 2024-09-01 476
4e7795eda4459bf Kent Overstreet 2024-09-01 477 int bch2_sb_member_alloc(struct bch_fs *c)
4e7795eda4459bf Kent Overstreet 2024-09-01 478 {
4e7795eda4459bf Kent Overstreet 2024-09-01 479 unsigned dev_idx = c->sb.nr_devices;
4e7795eda4459bf Kent Overstreet 2024-09-01 480 if (dev_idx < BCH_SB_MEMBERS_MAX)
4e7795eda4459bf Kent Overstreet 2024-09-01 481 goto have_slot;
4e7795eda4459bf Kent Overstreet 2024-09-01 482
4e7795eda4459bf Kent Overstreet 2024-09-01 483 int best = -1;
4e7795eda4459bf Kent Overstreet 2024-09-01 484 u64 best_last_mount = 0;
4e7795eda4459bf Kent Overstreet 2024-09-01 485 for (dev_idx = 0; dev_idx < BCH_SB_MEMBERS_MAX; dev_idx++) {
4e7795eda4459bf Kent Overstreet 2024-09-01 486 struct bch_member m = bch2_sb_member_get(c->disk_sb.sb, dev_idx);
4e7795eda4459bf Kent Overstreet 2024-09-01 487 if (bch2_member_alive(&m))
4e7795eda4459bf Kent Overstreet 2024-09-01 488 continue;
4e7795eda4459bf Kent Overstreet 2024-09-01 489
4e7795eda4459bf Kent Overstreet 2024-09-01 490 u64 last_mount = le64_to_cpu(m.last_mount);
4e7795eda4459bf Kent Overstreet 2024-09-01 491 if (best < 0 || last_mount < best_last_mount) {
4e7795eda4459bf Kent Overstreet 2024-09-01 492 best = dev_idx;
4e7795eda4459bf Kent Overstreet 2024-09-01 493 best_last_mount = last_mount;
4e7795eda4459bf Kent Overstreet 2024-09-01 494 }
4e7795eda4459bf Kent Overstreet 2024-09-01 495 }
4e7795eda4459bf Kent Overstreet 2024-09-01 496 if (best >= 0) {
4e7795eda4459bf Kent Overstreet 2024-09-01 497 dev_idx = best;
4e7795eda4459bf Kent Overstreet 2024-09-01 498 goto have_slot;
4e7795eda4459bf Kent Overstreet 2024-09-01 499 }
4e7795eda4459bf Kent Overstreet 2024-09-01 500
4e7795eda4459bf Kent Overstreet 2024-09-01 501 return -BCH_ERR_ENOSPC_sb_members;
4e7795eda4459bf Kent Overstreet 2024-09-01 502 have_slot:
4e7795eda4459bf Kent Overstreet 2024-09-01 503 unsigned nr_devices = max_t(unsigned, dev_idx + 1, c->sb.nr_devices);
4e7795eda4459bf Kent Overstreet 2024-09-01 504
4e7795eda4459bf Kent Overstreet 2024-09-01 @505 struct bch_sb_field_members_v2 *mi = bch2_sb_field_get(c->disk_sb.sb, members_v2);
4e7795eda4459bf Kent Overstreet 2024-09-01 506 unsigned u64s = DIV_ROUND_UP(sizeof(struct bch_sb_field_members_v2) +
4e7795eda4459bf Kent Overstreet 2024-09-01 507 le16_to_cpu(mi->member_bytes) * nr_devices, sizeof(u64));
4e7795eda4459bf Kent Overstreet 2024-09-01 508
4e7795eda4459bf Kent Overstreet 2024-09-01 509 mi = bch2_sb_field_resize(&c->disk_sb, members_v2, u64s);
4e7795eda4459bf Kent Overstreet 2024-09-01 @510 if (!mi)
4e7795eda4459bf Kent Overstreet 2024-09-01 511 return -BCH_ERR_ENOSPC_sb_members;
4e7795eda4459bf Kent Overstreet 2024-09-01 512
4e7795eda4459bf Kent Overstreet 2024-09-01 513 c->disk_sb.sb->nr_devices = nr_devices;
4e7795eda4459bf Kent Overstreet 2024-09-01 @514 return dev_idx;
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2024-09-03 10:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202409031808.CPMMUdNT-lkp@intel.com \
--to=lkp@intel.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.