Subject: Re: linux-next: Tree for Aug 22 (evm)

From: Mimi Zohar <[email-masked]>
Date: Thu, 01 Sep 2011 21:40:25 -0400

On Thu, 2011-09-01 at 20:32 -0400, Arnaud Lacombe wrote:
> Hi,
> 
> On Sat, Aug 27, 2011 at 2:06 AM, Arnaud Lacombe <[email-masked]> wrote:
> > Hi,
> >
> > On Fri, Aug 26, 2011 at 1:00 PM, Randy Dunlap <[email-masked]> wrote:
> >> On Fri, 26 Aug 2011 08:39:02 -0400 Mimi Zohar wrote:
> >>
> >>> On Tue, 2011-08-23 at 22:10 -0400, Arnaud Lacombe wrote:
> >>> > Hi,
> >>> >
> >>> > On Tue, Aug 23, 2011 at 7:40 PM, Randy Dunlap <[email-masked]> wrote:
> >>> > > I think that you are going to need to do something like Arnaud suggested
> >>> > > and use "depends on TCG_TPM=y" instead of just "depends on TCG_TPM",
> >>> > > unless you can convince someone that this is a kconfig bug.
> >>> > >
> >>> > dammit... I guess there is...
> >>> >
> >>> > If you consider the following Kconfig:
> >>> >
> >>> > config MOD
> >>> >         bool
> >>> >         default y
> >>> >         option modules
> >>> >
> >>> > config EXPERIMENTAL
> >>> >         bool
> >>> >         default y
> >>> >
> >>> > menuconfig A
> >>> >         tristate "A"
> >>> >         depends on EXPERIMENTAL
> >>> >
> >>> > config B
> >>> >         bool "B"
> >>> >
> >>> > config B0
> >>> >         bool
> >>> >
> >>> > config C
> >>> >         tristate "C"
> >>> >         depends on B
> >>> >
> >>> > config C0
> >>> >         tristate
> >>> >
> >>> > config D
> >>> >         boolean "D"
> >>> >         depends on A && B
> >>> >         select C
> >>> >         select C0
> >>> >
> >>> > config E
> >>> >         tristate "E"
> >>> >
> >>> > config F
> >>> >         tristate "F"
> >>> >         select E
> >>> >
> >>> > B (KEYS) allows to set C (TRUSTED_KEYS). Also, B (KEYS) and A
> >>> > (TCG_TPM) allows to set D (EVM), which will select (C). Now,
> >>> > menuconfig highlight the problem very well. Proceeding as following
> >>> > A=m, B=y, C=m, E=y, F=y, we ends up having:
> >>> >
> >>> >  <M> A  --->
> >>> >  [*] B
> >>> >  {M} C
> >>> >  [*] D
> >>> >  -*- E
> >>> >  <*> F
> >>> >
> >>> > which translate in the following config:
> >>> >
> >>> > CONFIG_MOD=y
> >>> > CONFIG_EXPERIMENTAL=y
> >>> > CONFIG_A=m
> >>> > CONFIG_B=y
> >>> > CONFIG_C=m
> >>> > CONFIG_C0=m
> >>> > CONFIG_D=y
> >>> > CONFIG_E=y
> >>> > CONFIG_F=y
> >>> >
> >>> > I would have expected CONFIG_C and CONFIG_C0 to be 'y', just as 'E'.
> >>> > If you remove D's dependency on 'A', everything works as expected. So
> >>> > it would seem direct dependency state influence the state of reverse
> >>> > dependencies...
> >>> >
> >>> > Will have a look...
> >>> >
> >>> >  - Arnaud
> >>>
> >>> Thanks for looking into this!  Instead of changing 'TCG_TPM' to
> >>> 'TCG_TPM=y', the dependency should be on 'TRUSTED_KEYS=y'.  Then when
> >>> I've refactored ENCRYPTED_KEYS, removing the ENCRYPTED_KEYS dependency
> >>> on TRUSTED_KEYS, the EVM dependency would be '(TRUSTED_KEYS=y ||
> >>> TRUSTED_KEYS=n)'.  Do you want a temporary fix for now?
> >>
> >> Yes, linux-next (randconfig) builds are still failing, so we need something
> >> to prevent that.
> >>
> > you may want to try:
> >
> > git://github.com/lacombar/linux-2.6.git master/kconfig/expr-woes
> >
> ping ?
> 
>  - Arnaud

I assume you want me to test using expr-woes, but I'm not how.  Could
you help me here a bit.

(Over the weekend I removed encrypted keys dependency on TCG_TPM.)

thanks,

Mimi

> > only the last commit is relevant to the problem, but depend on one
> > another to get <assert.h>. The rest aims at tidying the expr stuff.
> > I'm looking for regression it may have introduced.
> >
> > Thanks,
> >  - Arnaud
> >
> > ps: I'll most likely be AFK until sunday evening (to be conservative).
> >
> >> thanks,
> >> ---
> >> ~Randy
> >> *** Remember to use Documentation/SubmitChecklist when testing your code ***
> >>
> >
>