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:	Tue, 16 Aug 2016 13:19:22 -0700
From:	Jason Low <jason.low2@....com>
To:	kbuild test robot <lkp@...el.com>
Cc:	jason.low2@....com, kbuild-all@...org,
	Peter Zijlstra <peterz@...radead.org>,
	Ingo Molnar <mingo@...hat.com>, imre.deak@...el.com,
	linux-kernel@...r.kernel.org, Waiman Long <Waiman.Long@....com>,
	Davidlohr Bueso <dave@...olabs.net>,
	Tim Chen <tim.c.chen@...ux.intel.com>, terry.rudd@....com,
	"Paul E. McKenney" <paulmck@...ibm.com>, jason.low2@...com
Subject: Re: [PATCH v2] locking/mutex: Prevent lock starvation when spinning
 is enabled

On Thu, 2016-08-11 at 04:01 +0800, kbuild test robot wrote:
> Hi Jason,
> 
> [auto build test ERROR on tip/locking/core]
> [also build test ERROR on v4.8-rc1 next-20160809]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Jason-Low/locking-mutex-Prevent-lock-starvation-when-spinning-is-enabled/20160811-034327
> config: x86_64-randconfig-x013-201632 (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> All error/warnings (new ones prefixed by >>):
> 
>    kernel/locking/mutex.c: In function 'do_yield_to_waiter':
> >> kernel/locking/mutex.c:441:10: error: 'struct mutex' has no member named 'yield_to_waiter'
>      if (lock->yield_to_waiter != true)
>              ^~
>    kernel/locking/mutex.c:442:7: error: 'struct mutex' has no member named 'yield_to_waiter'
>       lock->yield_to_waiter = true;
>           ^~
>    kernel/locking/mutex.c: In function 'clear_yield_to_waiter':
>    kernel/locking/mutex.c:447:6: error: 'struct mutex' has no member named 'yield_to_waiter'
>      lock->yield_to_waiter = false;
>          ^~
>    kernel/locking/mutex.c: In function 'need_yield_to_waiter':
>    kernel/locking/mutex.c:452:13: error: 'struct mutex' has no member named 'yield_to_waiter'
>      return lock->yield_to_waiter;
>                 ^~

These compilation errors occur in the !SMP case where the
yield_to_waiter variable does not get defined in the mutex structure,
but the waiter yield functions still make use of the variable.

They should be addressed by also checking for #if defined(CONFIG_SMP)
when defining those functions as Waiman had suggested.

Thanks,
Jason

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ