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] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 25 Nov 2021 11:43:48 -0800
From:   Joe Perches <joe@...ches.com>
To:     kernel test robot <lkp@...el.com>,
        Yury Norov <yury.norov@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: Re: [norov:bitmap-tmp 7/8] arch/powerpc/xmon/xmon.c:472:64: error:
 expected ')' before 'return'

On Fri, 2021-11-26 at 03:17 +0800, kernel test robot wrote:
> tree:   https://github.com/norov/linux bitmap-tmp
> head:   75ee333c81c999b29a49810611fb160cec32217d
> commit: 29f49f10b3fbef5a88db0a7e370984297616f0fa [7/8] lib/cpumask: replace cpumask_weight with cpumask_{empty,gt,le,eq}
> config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20211126/202111260340.kCOW9xsR-lkp@intel.com/config)
> compiler: powerpc-linux-gcc (GCC) 11.2.0
> 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://github.com/norov/linux/commit/29f49f10b3fbef5a88db0a7e370984297616f0fa
>         git remote add norov https://github.com/norov/linux
>         git fetch --no-tags norov bitmap-tmp
>         git checkout 29f49f10b3fbef5a88db0a7e370984297616f0fa
>         # save the config file to linux build tree
>         mkdir build_dir
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc 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 >>):
> 
>    arch/powerpc/xmon/xmon.c: In function 'wait_for_other_cpus':
> > > arch/powerpc/xmon/xmon.c:472:64: error: expected ')' before 'return'
>      472 |                 if (cpumask_weight_gt(&cpus_in_xmon, ncpus - 1)
>          |                    ~                                           ^
>          |                                                                )
>      473 |                         return true;
>          |                         ~~~~~~                                  
> > > arch/powerpc/xmon/xmon.c:476:9: error: expected expression before '}' token
>      476 |         }
>          |         ^

It's always good to compile test patches before submitting them and:
 
> vim +472 arch/powerpc/xmon/xmon.c
> 
>    465	
>    466	static bool wait_for_other_cpus(int ncpus)
>    467	{
>    468		unsigned long timeout;
>    469	
>    470		/* We wait for 2s, which is a metric "little while" */
>    471		for (timeout = 20000; timeout != 0; --timeout) {
>  > 472			if (cpumask_weight_gt(&cpus_in_xmon, ncpus - 1)
>    473				return true;
>    474			udelay(100);

unrelated trivia:

It seeems this loop could consume a lot of cpu/power.

Could this use usleep_range() or maybe something else that doesn't allow
rescheduling on another cpu?

Maybe it should be something like

	unsigned long timeout = jiffies + msecs_to_jiffies(2000);

	while (time_before(jiffies, timeout)) {
		if (cpumask_weight_gt(&cpus_in_xmon, ncpus - 1)
				return true;
		usleep_range(100, 200);
	}


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ