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] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqLVaJMidm2QcpmxXeT+Q+uU8esm1shdRs3BVoeRYqhJng@mail.gmail.com>
Date:   Wed, 29 Jan 2020 17:50:12 -0600
From:   Rob Herring <robh+dt@...nel.org>
To:     Doug Anderson <dianders@...omium.org>
Cc:     Stephen Boyd <sboyd@...nel.org>, Taniya Das <tdas@...eaurora.org>,
        Jeffrey Hugo <jhugo@...eaurora.org>,
        Abhishek Sahu <absahu@...eaurora.org>, sivaprak@...eaurora.org,
        anusharao@...eaurora.org, Sricharan <sricharan@...eaurora.org>,
        Bjorn Andersson <bjorn.andersson@...aro.org>,
        Michael Turquette <mturquette@...libre.com>,
        "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
        <devicetree@...r.kernel.org>,
        linux-arm-msm <linux-arm-msm@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Andy Gross <agross@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        linux-clk <linux-clk@...r.kernel.org>
Subject: Re: [PATCH] dt-bindings: clk: qcom: Fix self-validation, split, and
 clean cruft

On Wed, Jan 29, 2020 at 5:26 PM Doug Anderson <dianders@...omium.org> wrote:
>
> Hi,
>
> On Wed, Jan 29, 2020 at 2:01 PM Rob Herring <robh+dt@...nel.org> wrote:
> >
> > On Wed, Jan 29, 2020 at 3:23 PM Douglas Anderson <dianders@...omium.org> wrote:
> > >
> > > The 'qcom,gcc.yaml' file failed self-validation (dt_binding_check)
> > > because it required a property to be either (3 entries big),
> > > (3 entries big), or (7 entries big), but not more than one of those
> > > things.  That didn't make a ton of sense.
> > >
> > > This patch splits all of the exceptional device trees (AKA those that
> > > would have needed if/then/else rules) from qcom,gcc.yaml.  It also
> > > cleans up some cruft found while doing that.
> > >
> > > After this lands, this worked for me atop clk-next:
> > >   for f in \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml \
> > >     Documentation/devicetree/bindings/clock/qcom,gcc.yaml; do \
> > >       ARCH=arm64 make dt_binding_check DT_SCHEMA_FILES=$f; \
> > >       ARCH=arm64 make dtbs_check DT_SCHEMA_FILES=$f; \
> > >   done
> >
> > Note that using DT_SCHEMA_FILES may hide some errors in examples as
> > all other schemas (including the core ones) are not used for
> > validation. So just 'make dt_binding_check' needs to pass (ignoring
> > any other unrelated errors as it breaks frequently). Supposedly a
> > patch is coming explaining this in the documentation.
>
> That seems like it's going to be a huge pain going forward, but OK.

Use of DT_SCHEMA_FILES hiding problems or having to run 'make
dt_binding_check' on everything?

I could probably rework things such that you can check a single
binding example against all schema, but dtbs still get validated by
just a single schema.

The other option is proper makefiles in every directory so you can do
'make Documentation/devicetree/bindings/clk/'. But like compiling a
directory, that doesn't catch all issues (linking).

> I
> kept running "dtbs_check" with the DT_SCHEMA_FILES since I guess this
> was OK?  Then I ran this atop next-20200129:

Yes, that's really where DT_SCHEMA_FILES is most useful IMO.

> # Delete broken yaml:
> rm Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml

Been waiting on the fix to be applied since Dec...

> ARCH=arm64 make dt_binding_check | grep 'clock/qcom'
>
> ...and that seemed OK to me.  I've updated the commit message to
> include what I did.  Hopefully it's right.

Probably is. There are cases where a new schema breaks another file's
example. If someone has a gcc node in another example for example.

Rob

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ