drivers/block/drbd/drbd_main.c:3279:33: sparse: sparse: cast to restricted __be64

From: kernel test robot
Date: Sat Nov 11 2023 - 16:26:10 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3ca112b71f35dd5d99fc4571a56b5fc6f0c15814
commit: d991bb1c8da842a2a0b9dc83b1005e655783f861 include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*()
date: 2 years, 6 months ago
config: i386-randconfig-062-20230914 (https://download.01.org/0day-ci/archive/20231112/202311120516.wfIgNSys-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231112/202311120516.wfIgNSys-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311120516.wfIgNSys-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/block/drbd/drbd_main.c:1393:31: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1406:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1406:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1406:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1407:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] blksize @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1407:20: sparse: expected unsigned int [usertype] blksize
drivers/block/drbd/drbd_main.c:1407:20: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1422:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1422:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1422:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1424:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] blksize @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1424:20: sparse: expected unsigned int [usertype] blksize
drivers/block/drbd/drbd_main.c:1424:20: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1440:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1440:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1440:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1442:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] blksize @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1442:20: sparse: expected unsigned int [usertype] blksize
drivers/block/drbd/drbd_main.c:1442:20: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1455:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1455:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1455:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1457:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] blksize @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1457:20: sparse: expected unsigned int [usertype] blksize
drivers/block/drbd/drbd_main.c:1457:20: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1680:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1680:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1680:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1682:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] seq_num @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1682:20: sparse: expected unsigned int [usertype] seq_num
drivers/block/drbd/drbd_main.c:1682:20: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1696:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] dp_flags @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1696:21: sparse: expected unsigned int [usertype] dp_flags
drivers/block/drbd/drbd_main.c:1696:21: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1701:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] size @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1701:25: sparse: expected unsigned int [usertype] size
drivers/block/drbd/drbd_main.c:1701:25: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1711:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] size @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1711:29: sparse: expected unsigned int [usertype] size
drivers/block/drbd/drbd_main.c:1711:29: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1787:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1787:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1787:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1810:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] sector @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:1810:19: sparse: expected unsigned long long [usertype] sector
drivers/block/drbd/drbd_main.c:1810:19: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:1811:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] blksize @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:1811:20: sparse: expected unsigned int [usertype] blksize
drivers/block/drbd/drbd_main.c:1811:20: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:1847:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_main.c:1847:40: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_main.c:1847:40: sparse: struct net_conf *
drivers/block/drbd/drbd_main.c:3020:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] la_size_sect @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:3020:30: sparse: expected unsigned long long [usertype] la_size_sect
drivers/block/drbd/drbd_main.c:3020:30: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:3022:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:3022:33: sparse: expected unsigned long long
drivers/block/drbd/drbd_main.c:3022:33: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:3023:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] flags @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3023:23: sparse: expected unsigned int [usertype] flags
drivers/block/drbd/drbd_main.c:3023:23: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3024:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] magic @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3024:23: sparse: expected unsigned int [usertype] magic
drivers/block/drbd/drbd_main.c:3024:23: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3026:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] md_size_sect @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3026:31: sparse: expected unsigned int [usertype] md_size_sect
drivers/block/drbd/drbd_main.c:3026:31: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3027:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] al_offset @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3027:31: sparse: expected unsigned int [usertype] al_offset
drivers/block/drbd/drbd_main.c:3027:31: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3028:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] al_nr_extents @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3028:31: sparse: expected unsigned int [usertype] al_nr_extents
drivers/block/drbd/drbd_main.c:3028:31: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3029:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bm_bytes_per_bit @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3029:34: sparse: expected unsigned int [usertype] bm_bytes_per_bit
drivers/block/drbd/drbd_main.c:3029:34: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3030:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] device_uuid @@ got restricted __be64 [usertype] @@
drivers/block/drbd/drbd_main.c:3030:29: sparse: expected unsigned long long [usertype] device_uuid
drivers/block/drbd/drbd_main.c:3030:29: sparse: got restricted __be64 [usertype]
drivers/block/drbd/drbd_main.c:3032:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bm_offset @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3032:27: sparse: expected unsigned int [usertype] bm_offset
drivers/block/drbd/drbd_main.c:3032:27: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3033:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] la_peer_max_bio_size @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3033:38: sparse: expected unsigned int [usertype] la_peer_max_bio_size
drivers/block/drbd/drbd_main.c:3033:38: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3035:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] al_stripes @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3035:28: sparse: expected unsigned int [usertype] al_stripes
drivers/block/drbd/drbd_main.c:3035:28: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3036:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] al_stripe_size_4k @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_main.c:3036:35: sparse: expected unsigned int [usertype] al_stripe_size_4k
drivers/block/drbd/drbd_main.c:3036:35: sparse: got restricted __be32 [usertype]
drivers/block/drbd/drbd_main.c:3089:26: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3090:33: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3252:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3253:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3271:13: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3272:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3272:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3272:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3272:17: sparse: sparse: cast to restricted __be32
>> drivers/block/drbd/drbd_main.c:3279:33: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_main.c:3281:36: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_main.c:3282:26: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3283:32: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_main.c:3285:33: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3286:30: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3287:30: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3294:13: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3295:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3295:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3295:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3295:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3299:13: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3300:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3300:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3300:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3300:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3310:24: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_main.c:3693:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_main.c:3693:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_main.c:3693:14: sparse: struct net_conf *
drivers/block/drbd/drbd_main.c:860:9: sparse: sparse: context imbalance in 'drbd_print_uuids' - different lock contexts for basic block
drivers/block/drbd/drbd_main.c: note: in included file:
drivers/block/drbd/drbd_int.h:2141:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_int.h:2141:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_int.h:2141:14: sparse: struct net_conf *
drivers/block/drbd/drbd_int.h:2141:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_int.h:2141:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_int.h:2141:14: sparse: struct net_conf *
drivers/block/drbd/drbd_int.h:2141:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_int.h:2141:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_int.h:2141:14: sparse: struct net_conf *
drivers/block/drbd/drbd_int.h:1722:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_int.h:1722:14: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_int.h:1722:14: sparse: struct disk_conf *
--
drivers/block/drbd/drbd_receiver.c:1169:28: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:1173:27: sparse: sparse: cast to restricted __be16
drivers/block/drbd/drbd_receiver.c:1174:28: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:1179:27: sparse: sparse: cast to restricted __be16
drivers/block/drbd/drbd_receiver.c:1180:28: sparse: sparse: cast to restricted __be16
drivers/block/drbd/drbd_receiver.c:822:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:822:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:822:14: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:877:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:877:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:877:14: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:1042:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:1042:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:1042:14: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:1434:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:1434:14: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:1434:14: sparse: struct disk_conf *
drivers/block/drbd/drbd_receiver.c:1588:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:1588:14: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:1588:14: sparse: struct disk_conf *
drivers/block/drbd/drbd_receiver.c:1893:22: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:1897:22: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:1909:22: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:2157:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:2191:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:2405:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:2405:22: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:2405:22: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:2415:27: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:2415:27: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:2415:27: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:2594:24: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:2622:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:2633:20: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:2666:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:2666:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:2666:14: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:2798:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:2798:22: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:2798:22: sparse: struct disk_conf *
drivers/block/drbd/drbd_receiver.c:2854:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:2855:18: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3066:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:3066:23: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:3066:23: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:3142:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:3142:23: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:3142:23: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:3199:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:3199:23: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:3199:23: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:3545:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:3545:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:3545:14: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:3677:27: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3678:27: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3679:27: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3680:27: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3681:27: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3682:27: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:3703:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:3703:22: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:3703:22: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:3789:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:3789:9: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:3789:9: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:3946:46: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4005:55: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4006:57: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4007:56: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4008:53: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4044:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:4044:25: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:4044:25: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:4049:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:4049:17: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:4049:17: sparse: struct disk_conf *
drivers/block/drbd/drbd_receiver.c:4055:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:4055:17: sparse: struct fifo_buffer [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:4055:17: sparse: struct fifo_buffer *
drivers/block/drbd/drbd_receiver.c:4122:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:4123:19: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:4124:19: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:4132:28: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:4132:28: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:4132:28: sparse: struct disk_conf *
drivers/block/drbd/drbd_receiver.c:4174:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:4174:25: sparse: struct disk_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:4174:25: sparse: struct disk_conf *
drivers/block/drbd/drbd_receiver.c:4297:29: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:4397:18: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4398:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4423:18: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4424:17: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4456:24: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:4660:52: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:4987:9: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:4987:9: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5005:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5006:16: sparse: sparse: cast to restricted __be32
>> drivers/block/drbd/drbd_receiver.c:5315:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] protocol_min @@ got restricted __be32 [usertype] @@
>> drivers/block/drbd/drbd_receiver.c:5316:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] protocol_max @@ got restricted __be32 [usertype] @@
>> drivers/block/drbd/drbd_receiver.c:5317:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] feature_flags @@ got restricted __be32 [usertype] @@
drivers/block/drbd/drbd_receiver.c:5626:23: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5645:23: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5690:27: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5691:23: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5700:38: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5742:27: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5743:23: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5751:38: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5788:27: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5789:20: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5797:38: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5824:27: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5831:38: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5833:9: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5833:9: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5833:9: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5833:9: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5854:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5855:16: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5857:38: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5884:44: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5916:18: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5917:16: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5919:38: sparse: sparse: cast to restricted __be32
drivers/block/drbd/drbd_receiver.c:5921:13: sparse: sparse: cast to restricted __be64
drivers/block/drbd/drbd_receiver.c:5970:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:5970:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:5970:14: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:6060:37: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:6060:37: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:6060:37: sparse: struct net_conf *
drivers/block/drbd/drbd_receiver.c:6157:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/block/drbd/drbd_receiver.c:6157:14: sparse: struct net_conf [noderef] __rcu *
drivers/block/drbd/drbd_receiver.c:6157:14: sparse: struct net_conf *
--
drivers/scsi/libfc/fc_libfc.c:197:26: sparse: sparse: cast to restricted __be16
>> drivers/scsi/libfc/fc_libfc.c:197:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] fh_seq_cnt @@ got unsigned short [usertype] @@
drivers/scsi/libfc/fc_libfc.c:197:24: sparse: expected restricted __be16 [usertype] fh_seq_cnt
drivers/scsi/libfc/fc_libfc.c:197:24: sparse: got unsigned short [usertype]
drivers/scsi/libfc/fc_libfc.c:287:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/scsi/libfc/fc_libfc.c:287:17: sparse: struct fc4_prov [noderef] __rcu *
drivers/scsi/libfc/fc_libfc.c:287:17: sparse: struct fc4_prov *
drivers/scsi/libfc/fc_libfc.c:289:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/scsi/libfc/fc_libfc.c:289:17: sparse: struct fc4_prov [noderef] __rcu *
drivers/scsi/libfc/fc_libfc.c:289:17: sparse: struct fc4_prov *

vim +3279 drivers/block/drbd/drbd_main.c

c04ccaa669e147 Lars Ellenberg 2013-03-19 3208
c04ccaa669e147 Lars Ellenberg 2013-03-19 3209
b411b3637fa71f Philipp Reisner 2009-09-25 3210 /**
b411b3637fa71f Philipp Reisner 2009-09-25 3211 * drbd_md_read() - Reads in the meta data super block
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3212 * @device: DRBD device.
b411b3637fa71f Philipp Reisner 2009-09-25 3213 * @bdev: Device from which the meta data should be read in.
b411b3637fa71f Philipp Reisner 2009-09-25 3214 *
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3215 * Return NO_ERROR on success, and an enum drbd_ret_code in case
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3216 * something goes wrong.
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3217 *
c04ccaa669e147 Lars Ellenberg 2013-03-19 3218 * Called exactly once during drbd_adm_attach(), while still being D_DISKLESS,
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3219 * even before @bdev is assigned to @device->ldev.
b411b3637fa71f Philipp Reisner 2009-09-25 3220 */
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3221 int drbd_md_read(struct drbd_device *device, struct drbd_backing_dev *bdev)
b411b3637fa71f Philipp Reisner 2009-09-25 3222 {
b411b3637fa71f Philipp Reisner 2009-09-25 3223 struct meta_data_on_disk *buffer;
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3224 u32 magic, flags;
b411b3637fa71f Philipp Reisner 2009-09-25 3225 int i, rv = NO_ERROR;
b411b3637fa71f Philipp Reisner 2009-09-25 3226
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3227 if (device->state.disk != D_DISKLESS)
c04ccaa669e147 Lars Ellenberg 2013-03-19 3228 return ERR_DISK_CONFIGURED;
b411b3637fa71f Philipp Reisner 2009-09-25 3229
e37d2438d8e5e4 Lars Ellenberg 2014-04-01 3230 buffer = drbd_md_get_buffer(device, __func__);
e17117310b73ce Philipp Reisner 2011-06-27 3231 if (!buffer)
c04ccaa669e147 Lars Ellenberg 2013-03-19 3232 return ERR_NOMEM;
b411b3637fa71f Philipp Reisner 2009-09-25 3233
c04ccaa669e147 Lars Ellenberg 2013-03-19 3234 /* First, figure out where our meta data superblock is located,
c04ccaa669e147 Lars Ellenberg 2013-03-19 3235 * and read it. */
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3236 bdev->md.meta_dev_idx = bdev->disk_conf->meta_dev_idx;
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3237 bdev->md.md_offset = drbd_md_ss(bdev);
edb5e5f63d80c3 Lars Ellenberg 2015-03-24 3238 /* Even for (flexible or indexed) external meta data,
edb5e5f63d80c3 Lars Ellenberg 2015-03-24 3239 * initially restrict us to the 4k superblock for now.
edb5e5f63d80c3 Lars Ellenberg 2015-03-24 3240 * Affects the paranoia out-of-range access check in drbd_md_sync_page_io(). */
edb5e5f63d80c3 Lars Ellenberg 2015-03-24 3241 bdev->md.md_size_sect = 8;
b411b3637fa71f Philipp Reisner 2009-09-25 3242
bb3cc85e16431b Mike Christie 2016-06-05 3243 if (drbd_md_sync_page_io(device, bdev, bdev->md.md_offset,
bb3cc85e16431b Mike Christie 2016-06-05 3244 REQ_OP_READ)) {
25985edcedea63 Lucas De Marchi 2011-03-30 3245 /* NOTE: can't do normal error processing here as this is
b411b3637fa71f Philipp Reisner 2009-09-25 3246 called BEFORE disk is attached */
d01801710265cf Andreas Gruenbacher 2011-07-03 3247 drbd_err(device, "Error while reading metadata.\n");
b411b3637fa71f Philipp Reisner 2009-09-25 3248 rv = ERR_IO_MD_DISK;
b411b3637fa71f Philipp Reisner 2009-09-25 3249 goto err;
b411b3637fa71f Philipp Reisner 2009-09-25 3250 }
b411b3637fa71f Philipp Reisner 2009-09-25 3251
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3252 magic = be32_to_cpu(buffer->magic);
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3253 flags = be32_to_cpu(buffer->flags);
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3254 if (magic == DRBD_MD_MAGIC_84_UNCLEAN ||
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3255 (magic == DRBD_MD_MAGIC_08 && !(flags & MDF_AL_CLEAN))) {
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3256 /* btw: that's Activity Log clean, not "all" clean. */
d01801710265cf Andreas Gruenbacher 2011-07-03 3257 drbd_err(device, "Found unclean meta data. Did you \"drbdadm apply-al\"?\n");
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3258 rv = ERR_MD_UNCLEAN;
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3259 goto err;
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3260 }
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3261
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3262 rv = ERR_MD_INVALID;
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3263 if (magic != DRBD_MD_MAGIC_08) {
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3264 if (magic == DRBD_MD_MAGIC_07)
d01801710265cf Andreas Gruenbacher 2011-07-03 3265 drbd_err(device, "Found old (0.7) meta data magic. Did you \"drbdadm create-md\"?\n");
d5d7ebd4225062 Lars Ellenberg 2011-07-05 3266 else
d01801710265cf Andreas Gruenbacher 2011-07-03 3267 drbd_err(device, "Meta data magic not found. Did you \"drbdadm create-md\"?\n");
b411b3637fa71f Philipp Reisner 2009-09-25 3268 goto err;
b411b3637fa71f Philipp Reisner 2009-09-25 3269 }
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3270
c04ccaa669e147 Lars Ellenberg 2013-03-19 3271 if (be32_to_cpu(buffer->bm_bytes_per_bit) != BM_BLOCK_SIZE) {
d01801710265cf Andreas Gruenbacher 2011-07-03 3272 drbd_err(device, "unexpected bm_bytes_per_bit: %u (expected %u)\n",
c04ccaa669e147 Lars Ellenberg 2013-03-19 3273 be32_to_cpu(buffer->bm_bytes_per_bit), BM_BLOCK_SIZE);
b411b3637fa71f Philipp Reisner 2009-09-25 3274 goto err;
b411b3637fa71f Philipp Reisner 2009-09-25 3275 }
c04ccaa669e147 Lars Ellenberg 2013-03-19 3276
c04ccaa669e147 Lars Ellenberg 2013-03-19 3277
c04ccaa669e147 Lars Ellenberg 2013-03-19 3278 /* convert to in_core endian */
c04ccaa669e147 Lars Ellenberg 2013-03-19 @3279 bdev->md.la_size_sect = be64_to_cpu(buffer->la_size_sect);
c04ccaa669e147 Lars Ellenberg 2013-03-19 3280 for (i = UI_CURRENT; i < UI_SIZE; i++)
c04ccaa669e147 Lars Ellenberg 2013-03-19 3281 bdev->md.uuid[i] = be64_to_cpu(buffer->uuid[i]);
c04ccaa669e147 Lars Ellenberg 2013-03-19 3282 bdev->md.flags = be32_to_cpu(buffer->flags);
c04ccaa669e147 Lars Ellenberg 2013-03-19 3283 bdev->md.device_uuid = be64_to_cpu(buffer->device_uuid);
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3284
c04ccaa669e147 Lars Ellenberg 2013-03-19 3285 bdev->md.md_size_sect = be32_to_cpu(buffer->md_size_sect);
c04ccaa669e147 Lars Ellenberg 2013-03-19 3286 bdev->md.al_offset = be32_to_cpu(buffer->al_offset);
c04ccaa669e147 Lars Ellenberg 2013-03-19 3287 bdev->md.bm_offset = be32_to_cpu(buffer->bm_offset);
c04ccaa669e147 Lars Ellenberg 2013-03-19 3288
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3289 if (check_activity_log_stripe_size(device, buffer, &bdev->md))
b411b3637fa71f Philipp Reisner 2009-09-25 3290 goto err;
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3291 if (check_offsets_and_sizes(device, bdev))
c04ccaa669e147 Lars Ellenberg 2013-03-19 3292 goto err;
c04ccaa669e147 Lars Ellenberg 2013-03-19 3293
b411b3637fa71f Philipp Reisner 2009-09-25 3294 if (be32_to_cpu(buffer->bm_offset) != bdev->md.bm_offset) {
d01801710265cf Andreas Gruenbacher 2011-07-03 3295 drbd_err(device, "unexpected bm_offset: %d (expected %d)\n",
b411b3637fa71f Philipp Reisner 2009-09-25 3296 be32_to_cpu(buffer->bm_offset), bdev->md.bm_offset);
b411b3637fa71f Philipp Reisner 2009-09-25 3297 goto err;
b411b3637fa71f Philipp Reisner 2009-09-25 3298 }
b411b3637fa71f Philipp Reisner 2009-09-25 3299 if (be32_to_cpu(buffer->md_size_sect) != bdev->md.md_size_sect) {
d01801710265cf Andreas Gruenbacher 2011-07-03 3300 drbd_err(device, "unexpected md_size: %u (expected %u)\n",
b411b3637fa71f Philipp Reisner 2009-09-25 3301 be32_to_cpu(buffer->md_size_sect), bdev->md.md_size_sect);
b411b3637fa71f Philipp Reisner 2009-09-25 3302 goto err;
b411b3637fa71f Philipp Reisner 2009-09-25 3303 }
b411b3637fa71f Philipp Reisner 2009-09-25 3304
3a4d4eb3cb03fb Lars Ellenberg 2013-03-19 3305 rv = NO_ERROR;
b411b3637fa71f Philipp Reisner 2009-09-25 3306
0500813fe0c9a6 Andreas Gruenbacher 2011-07-07 3307 spin_lock_irq(&device->resource->req_lock);
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3308 if (device->state.conn < C_CONNECTED) {
db141b2f42b485 Lars Ellenberg 2012-06-25 3309 unsigned int peer;
99432fcc528d7a Philipp Reisner 2011-05-20 3310 peer = be32_to_cpu(buffer->la_peer_max_bio_size);
db141b2f42b485 Lars Ellenberg 2012-06-25 3311 peer = max(peer, DRBD_MAX_BIO_SIZE_SAFE);
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3312 device->peer_max_bio_size = peer;
99432fcc528d7a Philipp Reisner 2011-05-20 3313 }
0500813fe0c9a6 Andreas Gruenbacher 2011-07-07 3314 spin_unlock_irq(&device->resource->req_lock);
b411b3637fa71f Philipp Reisner 2009-09-25 3315
b411b3637fa71f Philipp Reisner 2009-09-25 3316 err:
b30ab7913b0a7b Andreas Gruenbacher 2011-07-03 3317 drbd_md_put_buffer(device);
b411b3637fa71f Philipp Reisner 2009-09-25 3318
b411b3637fa71f Philipp Reisner 2009-09-25 3319 return rv;
b411b3637fa71f Philipp Reisner 2009-09-25 3320 }
b411b3637fa71f Philipp Reisner 2009-09-25 3321

:::::: The code at line 3279 was first introduced by commit
:::::: c04ccaa669e147ffb66e4e74d82c7dbfc100ec5e drbd: read meta data early, base on-disk offsets on super block

:::::: TO: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx>
:::::: CC: Jens Axboe <axboe@xxxxxxxxx>

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