Re: [PATCH v4] kconfig/symbol.c: handle choice_values that depend on 'm' symbols

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Roger Quadros <rogerq@xxxxxx> writes:

> On 31/03/16 01:16, Ruslan Bilovol wrote:
>> Hi,
>> 
>> On Thu, Mar 31, 2016 at 1:08 AM, Bin Liu <binmlist@xxxxxxxxx> wrote:
>>> Hi,
>>>
>>> On Fri, Aug 15, 2014 at 2:37 AM, Dirk Gouders <dirk@xxxxxxxxxxx> wrote:
>>>> Bin Liu <binmlist@xxxxxxxxx> writes:
>>>>
>>>>> Dirk,
>>>>>
>>>>> On Thu, Aug 14, 2014 at 1:52 AM, Dirk Gouders <dirk@xxxxxxxxxxx> wrote:
>>>>>> Bin Liu <binmlist@xxxxxxxxx> writes:
>>>>>>
>>>>>>> All,
>>>>>>>
>>>>>>> On Mon, Nov 18, 2013 at 12:08 PM, Yann E. MORIN <yann.morin.1998@xxxxxxx> wrote:
>>>>>>>> Dirk, All,
>>>>>>>>
>>>>>>>> On 2013-11-07 15:05 +0100, Dirk Gouders spake thusly:
>>>>>>>>> If choices consist of choice_values that depend on symbols set to 'm',
>>>>>>>>> those choice_values are not set to 'n' if the choice is changed from
>>>>>>>>> 'm' to 'y' (in which case only one active choice_value is allowed).
>>>>>>>>> Those values are also written to the config file causing modules to be
>>>>>>>>> built when they should not.
>>>>>>>>>
>>>>>>>>> The following config can be used to reproduce and examine the problem;
>>>>>>>>> with the frontend of your choice set "Choice 0" and "Choice 1" to 'm',
>>>>>>>>> then set "Tristate Choice" to 'y' and save the configuration:
>>>>>>>>>
>>>>>>>>> config modules
>>>>>>>>>       boolean modules
>>>>>>>>>       default y
>>>>>>>>>       option modules
>>>>>>>>>
>>>>>>>>> config dependency
>>>>>>>>>       tristate "Dependency"
>>>>>>>>>       default m
>>>>>>>>>
>>>>>>>>> choice
>>>>>>>>>       prompt "Tristate Choice"
>>>>>>>>>       default choice0
>>>>>>>>>
>>>>>>>>> config choice0
>>>>>>>>>       tristate "Choice 0"
>>>>>>>>>
>>>>>>>>> config choice1
>>>>>>>>>       tristate "Choice 1"
>>>>>>>>>       depends on dependency
>>>>>>>>>
>>>>>>>>> endchoice
>>>>>>>>>
>>>>>>>>> This patch sets choice_values' visibility that depend on symbols set
>>>>>>>>> to 'm' to 'n' if the corresponding choice is set to 'y'.  This makes
>>>>>>>>> them disappear from the choice list and will also cause the
>>>>>>>>> choice_values' value set to 'n' in sym_calc_value() and as a result
>>>>>>>>> they are written as "not set" to the resulting .config file.
>>>>>>>>>
>>>>>>>>> Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>>>>>>>>> Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx>
>>>>>>>>> Tested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>>>>>>>>
>>>>>>>> Acked-by: "Yann E. MORIN" <yann.morin.1998@xxxxxxx>
>>>>>>>>
>>>>>>>> It will be in my tree soon. Thanks!
>>>>>>>
>>>>>>> I don't see this patch in 3.16 but 3.16 does not have the issue any
>>>>>>> more. Anyone has an idea how the issue got fixed? I am trying to find
>>>>>>> the right patch to backport.
>>>>>>
>>>>>> With the above sample kconfig I still see the issue.  How did you
>>>>>> notice the issue got fixed?
>>>>>
>>>>> I did not pay much attention on the above sample kconfig, but just
>>>>> focused on the USB gadget driver kconfig issue initially reported by
>>>>> Sebastian. I saw the issue exists in 3.14, but does not in 3.16,
>>>>> unless I messed up with my test. I will test 3.16 again some time next
>>>>> week.
>>>>
>>>> Hi Bin,
>>>>
>>>> I now also re-tested the initially reported steps to reproduce the
>>>> issue:
>>>>
>>>> ------------------------------------------------------------------------
>>>>> in USB gadget menu (that is Device Drivers ---> USB support ---> USB
>>>>> Gadget Support --->  USB Gadget Drivers) I can create a configuration
>>>>> which is "lost". Here is how to reproduce it:
>>>>>
>>>>> - first config two gadgets as M:
>>>>>  <M>   USB Gadget Drivers
>>>>>  <M>     Audio Gadget
>>>>>  <M>     Ethernet Gadget
>>>>>  <M>     MIDI Gadget
>>>>>
>>>>>  save config & leave
>>>>>
>>>>> - now start menu config again and go to the same menu, now select
>>>>>   built-in:
>>>>>   <*>   USB Gadget Drivers (Ethernet Gadget
>>>>>   the ethernet gadget is chosen automatically because we can have only
>>>>>   one gadget selected.
>>>>>   save config & leave
>>>>>
>>>>> - step three, go back to the menu and you will see that everything is
>>>>>   as it was (the <*> is ignored).
>>>> ------------------------------------------------------------------------
>>>>
>>>> Here, I still see the problem (I was wondering if the issue has been
>>>> solved/gone by a kconfig-file modification).
>>>
>>> This issue was gone since 3.16, but came back again due to commit
>>> 1fd6d08 ARM: omap2plus_defconfig: Enable n900 modem as loadable modules.
>>>
>> 
>> I can confirm this issue too, faced it on v4.5 (but didn't try v4.6-rc1 yet)
>> 
>
> Issue is present on v4.6-rc1 as well and the $subject patch fixes the issue.

I would say the issue is present until the code is fixed.  Whether it is
triggered depends on the Kconfig used.

Perhaps, Michal could take a look at the patch that Yann ack'ed, some
time ago.

Dirk
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux