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: <dcd31dc2-a555-1d5a-c5f5-56ee5c3e6405@infradead.org>
Date:   Sat, 22 Feb 2020 08:24:00 -0800
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Masami Hiramatsu <mhiramat@...nel.org>,
        Geert Uytterhoeven <geert@...ux-m68k.org>
Cc:     Steven Rostedt <rostedt@...dmis.org>,
        Borislav Petkov <bp@...en8.de>,
        LKML <linux-kernel@...r.kernel.org>,
        Ingo Molnar <mingo@...nel.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v3 1/2] bootconfig: Prohibit re-defining value on same key

On 2/22/20 6:41 AM, Masami Hiramatsu wrote:
> On Sat, 22 Feb 2020 10:31:17 +0100
> Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
> 
>> Hi Randy,
>>
>> On Sat, Feb 22, 2020 at 5:30 AM Randy Dunlap <rdunlap@...radead.org> wrote:
>>> On 2/21/20 12:13 AM, Masami Hiramatsu wrote:
>>>> --- a/Documentation/admin-guide/bootconfig.rst
>>>> +++ b/Documentation/admin-guide/bootconfig.rst
>>>> @@ -62,7 +62,16 @@ Or more shorter, written as following::
>>>>  In both styles, same key words are automatically merged when parsing it
>>>>  at boot time. So you can append similar trees or key-values.
>>>>
>>>> -Note that a sub-key and a value can not co-exist under a parent key.
>>>> +Same-key Values
>>>> +---------------
>>>> +
>>>> +It is prohibited that two or more values or arraies share a same-key.
>>>
>>> I think (?):                                   arrays
>>>
>>>> +For example,::
>>>> +
>>>> + foo = bar, baz
>>>> + foo = qux  # !ERROR! we can not re-define same key
>>>> +
>>>> +Also, a sub-key and a value can not co-exist under a parent key.
>>>>  For example, following config is NOT allowed.::
>>>>
>>>>   foo = value1
>>>
>>>
>>> I'm pretty sure that the kernel command line allows someone to use
>>>   key=value1 ... key=value2
>>> and the first setting is just overwritten with value2 (for most "key"s).
>>>
>>> Am I wrong?  and is this patch saying that bootconfig won't operate like that?
>>
>> I think so. Both are retained.
>> A typical example is "console=ttyS0 console=tty", to have the kernel output
>> on both the serial and the graphical console.

Yes, I was aware of that one also.

> Right, it actually depends on how the option is defined and its handler.
> If the option is defined with module_param*() macros, those will be 
> overwritten.
> But if it is defined with __setup() or early_param(), the handler function
> will be called repeatedly. Thus, overwrite or append or skip later one
> depends on the option handler.

OK, thanks for that clarification.

> I think the bootconfig is a bit different from legacy command line at
> this moment. The legacy command line can be modified by bootloader,
> whereas the bootconfig is a single text file which user can update
> each value. Of course bootloader will support the bootconfig to append
> some key-values in the future.
> So I would like to introduce another "overwrite" operator (":=") and
> "assign default" operator ("?=") too. With those operators, the
> bootloader can just add their own key-value without decoding the
> current bootconfig.


-- 
~Randy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ