* [mbroz-linux:dm-cryptsetup 1/3] drivers/md/dm-integrity.c:3059: undefined reference to `__udivdi3'
@ 2019-11-21 16:23 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-11-21 16:23 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5340 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mbroz/linux.git dm-cryptsetup
head: ea9c44327926517b457df9b778b228b1bf5fc676
commit: 05c37f5445e39f873313a3d7a0f8d0b7f85a82c0 [1/3] dm-integrity: fix excessive alignment of metadata runs
config: i386-randconfig-b001-20191121 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout 05c37f5445e39f873313a3d7a0f8d0b7f85a82c0
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: drivers/md/dm-integrity.o: in function `calculate_device_limits':
>> drivers/md/dm-integrity.c:3059: undefined reference to `__udivdi3'
vim +3059 drivers/md/dm-integrity.c
7eada909bfd7ac Mikulas Patocka 2017-01-04 3039
7eada909bfd7ac Mikulas Patocka 2017-01-04 3040 static int calculate_device_limits(struct dm_integrity_c *ic)
7eada909bfd7ac Mikulas Patocka 2017-01-04 3041 {
7eada909bfd7ac Mikulas Patocka 2017-01-04 3042 __u64 initial_sectors;
7eada909bfd7ac Mikulas Patocka 2017-01-04 3043
7eada909bfd7ac Mikulas Patocka 2017-01-04 3044 calculate_journal_section_size(ic);
7eada909bfd7ac Mikulas Patocka 2017-01-04 3045 initial_sectors = SB_SECTORS + (__u64)ic->journal_section_sectors * ic->journal_sections;
356d9d52e1221b Mikulas Patocka 2018-07-03 3046 if (initial_sectors + METADATA_PADDING_SECTORS >= ic->meta_device_sectors || initial_sectors > UINT_MAX)
7eada909bfd7ac Mikulas Patocka 2017-01-04 3047 return -EINVAL;
7eada909bfd7ac Mikulas Patocka 2017-01-04 3048 ic->initial_sectors = initial_sectors;
7eada909bfd7ac Mikulas Patocka 2017-01-04 3049
356d9d52e1221b Mikulas Patocka 2018-07-03 3050 if (!ic->meta_dev) {
356d9d52e1221b Mikulas Patocka 2018-07-03 3051 sector_t last_sector, last_area, last_offset;
356d9d52e1221b Mikulas Patocka 2018-07-03 3052
05c37f5445e39f Mikulas Patocka 2019-11-13 3053 /* we have to maintain excessive padding for compatibility with existing volumes */
05c37f5445e39f Mikulas Patocka 2019-11-13 3054 u64 metadata_run_padding =
05c37f5445e39f Mikulas Patocka 2019-11-13 3055 ic->sb->flags & cpu_to_le32(SB_FLAG_FIXED_PADDING) ?
05c37f5445e39f Mikulas Patocka 2019-11-13 3056 (__u64)(METADATA_PADDING_SECTORS << SECTOR_SHIFT) :
05c37f5445e39f Mikulas Patocka 2019-11-13 3057 (__u64)(1 << SECTOR_SHIFT << METADATA_PADDING_SECTORS);
05c37f5445e39f Mikulas Patocka 2019-11-13 3058
9d609f85b7eb96 Mikulas Patocka 2017-04-18 @3059 ic->metadata_run = roundup((__u64)ic->tag_size << (ic->sb->log2_interleave_sectors - ic->sb->log2_sectors_per_block),
05c37f5445e39f Mikulas Patocka 2019-11-13 3060 metadata_run_padding) >> SECTOR_SHIFT;
7eada909bfd7ac Mikulas Patocka 2017-01-04 3061 if (!(ic->metadata_run & (ic->metadata_run - 1)))
7eada909bfd7ac Mikulas Patocka 2017-01-04 3062 ic->log2_metadata_run = __ffs(ic->metadata_run);
7eada909bfd7ac Mikulas Patocka 2017-01-04 3063 else
7eada909bfd7ac Mikulas Patocka 2017-01-04 3064 ic->log2_metadata_run = -1;
7eada909bfd7ac Mikulas Patocka 2017-01-04 3065
7eada909bfd7ac Mikulas Patocka 2017-01-04 3066 get_area_and_offset(ic, ic->provided_data_sectors - 1, &last_area, &last_offset);
7eada909bfd7ac Mikulas Patocka 2017-01-04 3067 last_sector = get_data_sector(ic, last_area, last_offset);
356d9d52e1221b Mikulas Patocka 2018-07-03 3068 if (last_sector < ic->start || last_sector >= ic->meta_device_sectors)
7eada909bfd7ac Mikulas Patocka 2017-01-04 3069 return -EINVAL;
356d9d52e1221b Mikulas Patocka 2018-07-03 3070 } else {
30bba430ddf737 Mikulas Patocka 2019-05-07 3071 __u64 meta_size = (ic->provided_data_sectors >> ic->sb->log2_sectors_per_block) * ic->tag_size;
356d9d52e1221b Mikulas Patocka 2018-07-03 3072 meta_size = (meta_size + ((1U << (ic->log2_buffer_sectors + SECTOR_SHIFT)) - 1))
356d9d52e1221b Mikulas Patocka 2018-07-03 3073 >> (ic->log2_buffer_sectors + SECTOR_SHIFT);
356d9d52e1221b Mikulas Patocka 2018-07-03 3074 meta_size <<= ic->log2_buffer_sectors;
356d9d52e1221b Mikulas Patocka 2018-07-03 3075 if (ic->initial_sectors + meta_size < ic->initial_sectors ||
356d9d52e1221b Mikulas Patocka 2018-07-03 3076 ic->initial_sectors + meta_size > ic->meta_device_sectors)
356d9d52e1221b Mikulas Patocka 2018-07-03 3077 return -EINVAL;
356d9d52e1221b Mikulas Patocka 2018-07-03 3078 ic->metadata_run = 1;
356d9d52e1221b Mikulas Patocka 2018-07-03 3079 ic->log2_metadata_run = 0;
356d9d52e1221b Mikulas Patocka 2018-07-03 3080 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 3081
7eada909bfd7ac Mikulas Patocka 2017-01-04 3082 return 0;
7eada909bfd7ac Mikulas Patocka 2017-01-04 3083 }
7eada909bfd7ac Mikulas Patocka 2017-01-04 3084
:::::: The code at line 3059 was first introduced by commit
:::::: 9d609f85b7eb96697ae22ad1d47a3a3920174ba8 dm integrity: support larger block sizes
:::::: TO: Mikulas Patocka <mpatocka@redhat.com>
:::::: CC: Mike Snitzer <snitzer@redhat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30883 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-11-21 16:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-21 16:23 [mbroz-linux:dm-cryptsetup 1/3] drivers/md/dm-integrity.c:3059: undefined reference to `__udivdi3' kbuild test robot
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.