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: <1396890652.12738.21.camel@x220>
Date:	Mon, 07 Apr 2014 19:10:52 +0200
From:	Paul Bolle <pebolle@...cali.nl>
To:	Larry Finger <Larry.Finger@...inger.net>
Cc:	Randy Dunlap <rdunlap@...radead.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: Kconfig circular dependency question

On Sun, 2014-04-06 at 17:51 -0500, Larry Finger wrote:
> No problem - it is attached. The problem I was trying to solve was reported by 
> the kbuild test robot. To get the driver r8723au, you will need the staging-next 
> tree.

0) I couldn't reproduce your error with this config file (and the
next-20140407 tree). But I could reproduce by cbobbling together a
single rudimentary Kconfig file with the six symbols mentioned in the
error you had copied. And then I could cut things down to this minimal
test case:
    $ cat Kconfig.recursive 
    # test with 'yes "" | make KBUILD_KCONFIG=Kconfig.recursive oldconfig'
    mainmenu "Recursive dependency test case"

    config DRIVER1
	bool "Driver 1"
	select SUBSYSTEM2
	depends on SUBSYSTEM1

    config DRIVER2
	bool "Driver 2"
	select SUBSYSTEM1
	depends on SUBSYSTEM2

    config SUBSYSTEM1
	bool "Subsystem 1"

    config SUBSYSTEM2
	bool "Subsystem 2"

1) This made zero sense, until I realized that "select" statements are
treated as reverse dependencies in the kconfig code. And if you look at
these two select statements as reverse dependencies than, yes, this is a
Kconfig with a recursive dependency.

2) But the fact is that I actually don't think of "select" statements as
reverse dependencies. And in the Kconfig files they are not used as
reverse dependencies. See, for example, all the
    select USB

statements in the tree. I think there are many similar uses of "select".

3) So I think it makes no sense to treat "select" relations as reverse
dependencies. But perhaps I am missing something here.


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ