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]
Message-ID: <20201223174327.GE2657@paulmck-ThinkPad-P72>
Date:   Wed, 23 Dec 2020 09:43:27 -0800
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     kernel test robot <lkp@...el.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        ysato@...rs.sourceforge.jp, uclinux-h8-devel@...ts.sourceforge.jp
Subject: Re: update.c:undefined reference to `irq_work_queue'

On Wed, Dec 23, 2020 at 11:14:48PM +0800, kernel test robot wrote:
> Hi Paul,
> 
> FYI, the error/warning still remains.
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   614cb5894306cfa2c7d9b6168182876ff5948735
> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> date:   8 months ago
> config: h8300-randconfig-s032-20201220 (attached as .config)
> compiler: h8300-linux-gcc (GCC) 9.3.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # apt-get install sparse
>         # sparse version: v0.6.3-184-g1b896707-dirty
>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300 
> 
> 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 >>):
> 
>    h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
>    h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
>    h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
>    h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> >> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'

And despite my "select IRQ_WORK", your .config file does not have
CONFIG_IRQ_WORK.

As it stands, Tasks Trace RCU needs irq_work_queue() in order to defer a
wakeup to a point in the code where it is safe to do a wakeup.  If h8300
does not support irq_work_queue(), then h8300 should not try to use
Tasks Trace RCU.

I could add something like a BUILD_BUG_ON(!IS_ENABLED(CONFIG_IRQ_WORK))
in order to make this restriction official.

Adding the H8300 people on CC for their thoughts.

							Thanx, Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ