All of lore.kernel.org
 help / color / mirror / Atom feed
From: "AKASHI, Takahiro" <takahiro.akashi@linaro.org>
To: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>, devicetree@vger.kernel.org
Subject: Re: [PATCH] lib: add missing files from libfdt
Date: Tue, 2 Oct 2018 15:12:51 +0900	[thread overview]
Message-ID: <20181002061249.GD32578@linaro.org> (raw)
In-Reply-To: <CAL_JsqKVa2Xk-TJQ_U7bUJK6XXu2ZO36Jb8T3Rnr8uv0BQhwpg@mail.gmail.com>

Rob,

On Fri, Sep 28, 2018 at 07:49:13AM -0500, Rob Herring wrote:
> On Wed, Sep 26, 2018 at 12:57 AM AKASHI Takahiro
> <takahiro.akashi@linaro.org> wrote:
> >
> > There are two files that are part of dtc/libfdt, but don't appear
> > in lib. This patch fixes it.
> > Please note that strtoul() used in fdt_overlay.c is now faked using
> > kstrtoul() (not simple_strtoul() which is obsolute).
> >
> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: Frank Rowand <frowand.list@gmail.com>
> > ---
> >  lib/Makefile        |  2 +-
> >  lib/fdt_addresses.c |  3 +++
> >  lib/fdt_overlay.c   | 23 +++++++++++++++++++++++
> >  3 files changed, 27 insertions(+), 1 deletion(-)
> >  create mode 100644 lib/fdt_addresses.c
> >  create mode 100644 lib/fdt_overlay.c
> >
> > diff --git a/lib/Makefile b/lib/Makefile
> > index ca3f7ebb900d..444c82413a3c 100644
> > --- a/lib/Makefile
> > +++ b/lib/Makefile
> > @@ -202,7 +202,7 @@ KASAN_SANITIZE_stackdepot.o := n
> >  KCOV_INSTRUMENT_stackdepot.o := n
> >
> >  libfdt_files = fdt.o fdt_ro.o fdt_wip.o fdt_rw.o fdt_sw.o fdt_strerror.o \
> > -              fdt_empty_tree.o
> > +              fdt_empty_tree.o fdt_addresses.o fdt_overlay.o
> 
> Nothing in the kernel needs fdt_overlay.o, so we shouldn't add it
> until we do. It used to bloat the kernel size, but maybe that changed
> with using archive files now.
> 
> >  $(foreach file, $(libfdt_files), \
> >         $(eval CFLAGS_$(file) = -I$(src)/../scripts/dtc/libfdt))
> >  lib-$(CONFIG_LIBFDT) += $(libfdt_files)
> > diff --git a/lib/fdt_addresses.c b/lib/fdt_addresses.c
> > new file mode 100644
> > index 000000000000..241780d09882
> > --- /dev/null
> > +++ b/lib/fdt_addresses.c
> > @@ -0,0 +1,3 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +#include <linux/libfdt_env.h>
> > +#include "../scripts/dtc/libfdt/fdt_addresses.c"
> > diff --git a/lib/fdt_overlay.c b/lib/fdt_overlay.c
> > new file mode 100644
> > index 000000000000..1def7268d313
> > --- /dev/null
> > +++ b/lib/fdt_overlay.c
> > @@ -0,0 +1,23 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +#include <linux/kernel.h>
> > +#include <linux/libfdt_env.h>
> > +
> > +static unsigned long strtoul(const char *nptr, char **endptr, int base)
> > +{
> > +       unsigned long res;
> > +       int ret;
> > +
> > +       /*
> > +        * FIXME: no way to return a correct value of endptr.
> > +        * The values here would be still good for use in fdt_overlay
> > +        */
> > +       *endptr = (char *)nptr;
> 
> endptr could be NULL.

No, it couldn't at overlay_fixup_phandle(), which is the only caller
of strtoul() in fdt_overlay.c, is concerned.

> > +       ret = kstrtoul(nptr, base, &res);
> 
> kstrtoul doesn't handle conversions if there are non-convertible
> characters after the number while strtoul (including simple_strtoul)
> will still do the conversion.

I don't believe so.

> We should make sure we don't need that
> behavior. That's doubtful if callers pass non-NULL endptr.
> 
> > +       if (ret < 0)
> > +               return ULONG_MAX;
> > +
> > +       (*endptr)++;
> > +       return res;
> > +}
> > +
> > +#include "../scripts/dtc/libfdt/fdt_overlay.c"
> > --
> > 2.18.0
> >

Having said that, I would simply drop 'fdt_overlay' part from my patch
as it won't be used anywhere at this stage.
Are you happy with this change?

Thanks,
-Takahiro Akashi

  reply	other threads:[~2018-10-02  6:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-26  5:58 [PATCH] lib: add missing files from libfdt AKASHI Takahiro
2018-09-28 12:49 ` Rob Herring
2018-10-02  6:12   ` AKASHI, Takahiro [this message]
2018-10-02 14:03     ` Rob Herring

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=20181002061249.GD32578@linaro.org \
    --to=takahiro.akashi@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=robh+dt@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.