lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 17 Sep 2021 15:58:53 +0300
From:   Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To:     William Breathitt Gray <vilhelm.gray@...il.com>,
        Jonathan Cameron <Jonathan.Cameron@...wei.com>
Cc:     kernel test robot <lkp@...el.com>, llvm@...ts.linux.dev,
        kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        David Lechner <david@...hnology.com>,
        Fabrice Gasnier <fabrice.gasnier@...s.st.com>
Subject: Re: [iio:testing 40/43] ld.lld: error: undefined symbol: __udivdi3

On 9/14/21 4:52 PM, William Breathitt Gray wrote:
> On Tue, Sep 14, 2021 at 01:41:03PM +0100, Jonathan Cameron wrote:
>> On Sun, 12 Sep 2021 06:43:58 +0800
>> kernel test robot <lkp@...el.com> wrote:
>>
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
>>> head:   77a4a019161bcba51af1dbbeadc04795840fb3e0
>>> commit: f7da4339ca510e4476ea35cb9fd44f3f190706c5 [40/43] counter: Internalize sysfs interface code
>>> config: i386-randconfig-r022-20210911 (attached as .config)
>>> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
>>> reproduce (this is a W=1 build):
>>>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>          chmod +x ~/bin/make.cross
>>>          # https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/commit/?id=f7da4339ca510e4476ea35cb9fd44f3f190706c5
>>>          git remote add iio https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
>>>          git fetch --no-tags iio testing
>>>          git checkout f7da4339ca510e4476ea35cb9fd44f3f190706c5
>>>          # save the attached .config to linux build tree
>>>          mkdir build_dir
>>>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=i386 SHELL=/bin/bash
>>>
>>> If you fix the issue, kindly add following tag as appropriate
>>> Reported-by: kernel test robot <lkp@...el.com>
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>>>> ld.lld: error: undefined symbol: __udivdi3
>>>     >>> referenced by intel-qep.c:290 (drivers/counter/intel-qep.c:290)
>>>     >>>               counter/intel-qep.o:(intel_qep_spike_filter_ns_write) in archive drivers/built-in.a
>> This is a result of a change to passing in a u64 instead of a string.   I've applied a fix
>> that uses do_div() and pushed out as testing again.
>>
>> William, please sanity check that fix looks right to you.
>>
>> Thanks,
>>
>> Jonathan
> 
> Your do_div() change seems sane to me; would div_u64_rem() work here as
> well, or is do_div preferred because we're not using the remainder?
> 
> I'm CCing Jarkko Nikula as well to keep them in the loop.
> 
Yeah I believe do_div() is the right fix for the "counter: Internalize 
sysfs interface code" since the calculation remains the same.

I realized now the filter length has been rounded down. E.g. values 
20-29 from user space set 20 ns long filter in HW. Perhaps better would 
be to round up or to nearest but that goes to some future patch if needed.

Jarkko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ