Re: [PATCH v2 4/4] lockdep: Assign a lock_class per gendisk used for wait_for_completion()

From: kbuild test robot
Date: Sat Oct 21 2017 - 15:18:35 EST


Hi Byungchul,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.14-rc5 next-20171018]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Byungchul-Park/Fix-false-positives-by-cross-release-feature/20171022-022121
config: i386-randconfig-x002-201743 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

block/genhd.c: In function '__alloc_disk_node':
>> block/genhd.c:1407:24: error: 'struct gendisk' has no member named 'lockdep_map'
lockdep_init_map(&disk->lockdep_map, lock_name, key, 0);
^~

vim +1407 block/genhd.c

1356
1357 struct gendisk *__alloc_disk_node(int minors, int node_id, struct lock_class_key *key, const char *lock_name)
1358 {
1359 struct gendisk *disk;
1360 struct disk_part_tbl *ptbl;
1361
1362 if (minors > DISK_MAX_PARTS) {
1363 printk(KERN_ERR
1364 "block: can't allocated more than %d partitions\n",
1365 DISK_MAX_PARTS);
1366 minors = DISK_MAX_PARTS;
1367 }
1368
1369 disk = kzalloc_node(sizeof(struct gendisk), GFP_KERNEL, node_id);
1370 if (disk) {
1371 if (!init_part_stats(&disk->part0)) {
1372 kfree(disk);
1373 return NULL;
1374 }
1375 disk->node_id = node_id;
1376 if (disk_expand_part_tbl(disk, 0)) {
1377 free_part_stats(&disk->part0);
1378 kfree(disk);
1379 return NULL;
1380 }
1381 ptbl = rcu_dereference_protected(disk->part_tbl, 1);
1382 rcu_assign_pointer(ptbl->part[0], &disk->part0);
1383
1384 /*
1385 * set_capacity() and get_capacity() currently don't use
1386 * seqcounter to read/update the part0->nr_sects. Still init
1387 * the counter as we can read the sectors in IO submission
1388 * patch using seqence counters.
1389 *
1390 * TODO: Ideally set_capacity() and get_capacity() should be
1391 * converted to make use of bd_mutex and sequence counters.
1392 */
1393 seqcount_init(&disk->part0.nr_sects_seq);
1394 if (hd_ref_init(&disk->part0)) {
1395 hd_free_part(&disk->part0);
1396 kfree(disk);
1397 return NULL;
1398 }
1399
1400 disk->minors = minors;
1401 rand_initialize_disk(disk);
1402 disk_to_dev(disk)->class = &block_class;
1403 disk_to_dev(disk)->type = &disk_type;
1404 device_initialize(disk_to_dev(disk));
1405 }
1406
> 1407 lockdep_init_map(&disk->lockdep_map, lock_name, key, 0);
1408
1409 return disk;
1410 }
1411 EXPORT_SYMBOL(__alloc_disk_node);
1412

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip