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>] [day] [month] [year] [list]
Date:   Wed, 1 Jun 2022 22:07:15 -0500
From:   Frank Rowand <frowand.list@...il.com>
To:     "qun-wei.lin" <qun-wei.lin@...iatek.com>,
        Rob Herring <robh@...nel.org>
Cc:     matthias.bgg@...il.com, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-mediatek@...ts.infradead.org, casper.li@...iatek.com,
        chinwen.chang@...iatek.com, kuan-ying.lee@...iatek.com
Subject: Re: [PATCH] scripts: dtc: fix a false alarm for
 node_name_chars_strict

On 6/1/22 09:59, qun-wei.lin wrote:
> On Tue, 2022-05-31 at 20:45 -0500, Frank Rowand wrote:
>> On 5/31/22 17:49, Rob Herring wrote:
>>> On Tue, May 31, 2022 at 04:43:18PM -0400, Frank Rowand wrote:
>>>> On 5/31/22 01:33, Qun-Wei Lin wrote:
>>>>> The function check_node_name_chars_strict issues a false alarm
>>>>> when
>>>>> compiling an overlay dts.
>>>>>
>>>>> /fragment@..._overlay__: Character '_' not recommended in node
>>>>> name
>>>>>
>>>>> This workaround will fix it by skip checking for node named
>>>>> __overlay__.
>>>>
>>>> This is not a false alarm.
>>>>
>>>> Do not special case node name "__overlay__".  This node name
>>>> should never
>>>> occur in a modern overlay source file.
>>>
>>> A dtbo -> dts pass will give warnings, so handling these nodes is 
>>> worthwhile. Though thinking a bit more about it, I think this one
>>> is off 
>>> by default, but W=2 turns it on.
>>
> 
> When DTC detects an overlay target, it will generate a node name
> "__overlay__" in function add_orphan_node [1]
> 
> Use the example on page 34 of the slide [2]. When the parser reads this
> line in overlay source file:
> 
> &{/soc/base_fpga_region} {
> 
> It will build two nodes, one with no name and the other one is a
> subnode __overlay__ [2].
> 
> So if we set W=2, the following warning will be issued:
> 
> Warning (node_name_chars_strict): /fragment@..._overlay__: Character
> '_' not recommended in node name

Thanks for digging into the internals of dtc to determine how a properly
formatted overlay source file is processed in a way that the check for
a leading "_" in a node name is after dtc creating the __overlay__ node
name.

I have looked at dtc several times and have never educated myself enough
to be anything other than dangerous.  It seems that you might be more
educated about how it works.  If so, is there a reasonable way to tell
check_node_name_chars_strict() when the node name is one of the special
ones that dtc creates for overlays instead of a node name that appears
in a source file?

-Frank

> 
> I think this is a false alarm because this __overlay__ is automatically
> generated by DTC.
> 
>> Yes, at least as of 5.18-rc1 the warning is only if
>> '-W node_name_chars_strict', so a dtbo -> dts pass will not give the
>> warning for node __overlay__ by default.
>>
>> -Frank
>>
>>>
>>> Rob
>>
>>
> 
> We want to enable all warnings in DTC to ensure that all of our DTS are
> compliant with the conventions.
> 
> [1] 
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/tree/dtc-parser.y#n169
> [2] https://elinux.org/images/0/03/Elce_2018_dt_bof.pdf
> [3] 
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/tree/livetree.c#n228
> 
> 
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ