From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: "Pantelis Antoniou"
<pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>,
"Simon Glass" <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
"Boris Brezillon"
<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
"Alexander Kaplan" <alex-MflLfwwFzuz+yO7R74ARew@public.gmane.org>,
"Thomas Petazzoni"
<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Antoine Ténart"
<antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
"Stefan Agner" <stefan-XLVq0VzYD2Y@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v3 6/6] libfdt: Add overlay application function
Date: Wed, 27 Jul 2016 00:09:14 +1000 [thread overview]
Message-ID: <20160726140914.GN17429@voom.fritz.box> (raw)
In-Reply-To: <20160726061659.GT7419@lukather>
[-- Attachment #1: Type: text/plain, Size: 2189 bytes --]
On Tue, Jul 26, 2016 at 08:16:59AM +0200, Maxime Ripard wrote:
> On Tue, Jul 26, 2016 at 10:18:59AM +1000, David Gibson wrote:
> > > > Again, off-by-one in this test, I think. Since there are so many
> > > > tricky edge cases here, it might be worth making testcases for them.
> > >
> > > What do you want here? That we move the parsing code out of that loop,
> > > make it public and put the prototype in libfdt_internal, or that we
> > > craft some DT that would outline all the possible issues with that
> > > function, and just test the return code of fdt_overlay_apply?
> >
> > I was thinking crafted DTs. But I've realized that doing usefully is
> > pretty tricky, since overruns probably won't cause an immediate
> > problem most of the time. I guess they'd trip errors under valgrind
> > at least (as long you make sure there's at least one byte's alignment
> > gap until the next tag).
>
> Is that a general comment?
>
> I'm still not quite sure what you expect from me. Do you want to test
> just that function, or only the fixup parsing function? Should I run
> valgrind, or are you expecting it to be done later?
Sorry, I wasn't very clear.
You don't necessarily need to do anything. But the fact that we've
been through several iterations with problems in the edge cases of
parsing here suggests that this is tricky and fragile, so tests would
be a good idea if possible.
Because these are for cases with bad input, you wouldn't need to check
for any particular results - just that the functions don't crash or
otherwise do bad things when given the bad input. It's probably
easier to construct tests which will have bad behaviour that valgrind
can detect than ones which have bad behaviour which is more obvious.
The whole testsuite can be run under valgrind with "make checkm".
It's a good idea to run that every so often - I don't do it routinely
because of course it's much, much slower than running the testsuite
normally.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
prev parent reply other threads:[~2016-07-26 14:09 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-20 14:20 [PATCH v3 0/6] libfdt: Add support for device tree overlays Maxime Ripard
[not found] ` <20160720142044.27527-1-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-07-20 14:20 ` [PATCH v3 1/6] libfdt: Add a subnodes iterator macro Maxime Ripard
[not found] ` <20160720142044.27527-2-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-07-21 1:59 ` David Gibson
2016-07-20 14:20 ` [PATCH v3 2/6] libfdt: Add iterator over properties Maxime Ripard
[not found] ` <20160720142044.27527-3-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-07-21 2:01 ` David Gibson
2016-07-20 14:20 ` [PATCH v3 3/6] libfdt: Add max phandle retrieval function Maxime Ripard
2016-07-20 14:20 ` [PATCH v3 4/6] libfdt: Add fdt_getprop_namelen_w Maxime Ripard
2016-07-20 14:20 ` [PATCH v3 5/6] libfdt: Add fdt_setprop_inplace_namelen_partial Maxime Ripard
2016-07-20 14:20 ` [PATCH v3 6/6] libfdt: Add overlay application function Maxime Ripard
[not found] ` <20160720142044.27527-7-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-07-24 14:29 ` David Gibson
[not found] ` <20160724142908.GF24621-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
2016-07-25 18:20 ` Maxime Ripard
2016-07-26 0:18 ` David Gibson
[not found] ` <20160726001859.GF17429-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
2016-07-26 6:16 ` Maxime Ripard
2016-07-26 14:09 ` David Gibson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160726140914.GN17429@voom.fritz.box \
--to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
--cc=alex-MflLfwwFzuz+yO7R74ARew@public.gmane.org \
--cc=antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org \
--cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=stefan-XLVq0VzYD2Y@public.gmane.org \
--cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).