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:   Mon, 6 Nov 2017 11:21:43 +0000
From:   Mark Brown <broonie@...nel.org>
To:     Stephen Rothwell <sfr@...b.auug.org.au>
Cc:     Linux-Next Mailing List <linux-next@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        linux-kbuild@...r.kernel.org,
        "Yann E. MORIN" <yann.morin.1998@...e.fr>,
        linux-remoteproc@...r.kernel.org, Ohad Ben-Cohen <ohad@...ery.com>,
        Bjorn Andersson <bjorn.andersson@...aro.org>
Subject: Re: linux-next: build warning after merge of the regmap tree

On Mon, Nov 06, 2017 at 03:30:37PM +1100, Stephen Rothwell wrote:
> On Mon, 6 Nov 2017 15:21:57 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> > On Mon, 6 Nov 2017 11:52:14 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:

> > > After merging the regmap tree, today's linux-next build
> > > (arm_multi_v7_defconfig) produced this warning:

Not snipping Kconfig errors for context, looks like Kconfig is exploding...

> > > drivers/gpio/Kconfig:13:error: recursive dependency detected!
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/gpio/Kconfig:13:	symbol GPIOLIB is selected by PINCTRL_SUNXI
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/pinctrl/sunxi/Kconfig:3:	symbol PINCTRL_SUNXI is selected by PINCTRL_SUN6I_A31_R
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/pinctrl/sunxi/Kconfig:21:	symbol PINCTRL_SUN6I_A31_R depends on RESET_CONTROLLER
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/reset/Kconfig:4:	symbol RESET_CONTROLLER is selected by QCOM_SCM
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/firmware/Kconfig:205:	symbol QCOM_SCM is selected by QCOM_ADSP_PIL
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/remoteproc/Kconfig:90:	symbol QCOM_ADSP_PIL depends on QCOM_SMEM
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/soc/qcom/Kconfig:49:	symbol QCOM_SMEM depends on HWSPINLOCK
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/hwspinlock/Kconfig:5:	symbol HWSPINLOCK is selected by REGMAP
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/base/regmap/Kconfig:6:	symbol REGMAP is selected by PINCTRL_SX150X
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/pinctrl/Kconfig:227:	symbol PINCTRL_SX150X is selected by GPIO_SX150X
> > > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > > subsection "Kconfig recursive dependency limitations"
> > > drivers/gpio/Kconfig:821:	symbol GPIO_SX150X depends on GPIOLIB
> > > warning: (ARCH_VEXPRESS) selects MFD_VEXPRESS_SYSREG which has unmet direct dependencies (HAS_IOMEM && VEXPRESS_CONFIG && GPIOLIB && !ARCH_USES_GETTIMEOFFSET)
> > > warning: (ARCH_NOMADIK && ARCH_U8500) selects PINCTRL_NOMADIK which has unmet direct dependencies (PINCTRL && (ARCH_U8500 || ARCH_NOMADIK) && OF && GPIOLIB)
> > > warning: (PINCTRL_AT91 && PINCTRL_AT91PIO4 && PINCTRL_MESON && PINCTRL_OXNAS && PINCTRL_PISTACHIO && PINCTRL_PIC32 && PINCTRL_NOMADIK && PINCTRL_MTK && GPIO_TB10X) selects OF_GPIO which has unmet direct dependencies (GPIOLIB && OF && HAS_IOMEM)

> > > Maybe introduced by commit

> > >   f25637a6b89e ("regmap: Add a config option for hwspinlock")  

> > Things got worse during the day until config started segfaulting, so I
> > reverted this commit.

> That necessitated me reverting commits

>   8698b9364710 ("regmap: Add hardware spinlock support")
>   267f3e4f18f1 ("regmap: Also protect hwspinlock in error handling path")
>   e8419c40a5ad ("regmap: Clean up hwspinlock on regmap exit")

This seems like there's a Kconfig bug, it's claiming HWSPINLOCK is
selected by regmap but the select is conditional and not actually
enabled.  You could potentially get a recursive dependency but there
isn't one right now.  The root issue here is that HWSPINLOCK can be
built modular which makes it very painful to use from core code.

Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ