All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [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.