Re: [PATCH] scripts/dtc: Update to upstream version v1.6.1-66-gabbd523bae6e

From: Kees Cook
Date: Fri Feb 03 2023 - 12:35:37 EST


On Fri, Feb 03, 2023 at 11:24:29AM -0600, Rob Herring wrote:
> This adds the following commits from upstream:
>
> abbd523bae6e pylibfdt: Work-around SWIG limitations with flexible arrays
> a41509bea3e7 libfdt: Replace deprecated 0-length arrays with proper flexible arrays
> 2cd89f862cdb dtc: Warning rather than error on possible truncation of cell values
>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>

Thanks for your help with this!

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

> ---
> scripts/dtc/dtc-parser.y | 11 ++++++++---
> scripts/dtc/libfdt/fdt.h | 4 ++--
> scripts/dtc/version_gen.h | 2 +-
> 3 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y
> index 46457d4bc0aa..bff1337ec266 100644
> --- a/scripts/dtc/dtc-parser.y
> +++ b/scripts/dtc/dtc-parser.y
> @@ -404,9 +404,14 @@ arrayprefix:
> * within the mask to one (i.e. | in the
> * mask), all bits are one.
> */
> - if (($2 > mask) && (($2 | mask) != -1ULL))
> - ERROR(&@2, "Value out of range for"
> - " %d-bit array element", $1.bits);
> + if (($2 > mask) && (($2 | mask) != -1ULL)) {
> + char *loc = srcpos_string(&@2);
> + fprintf(stderr,
> + "WARNING: %s: Value 0x%016" PRIx64
> + " truncated to 0x%0*" PRIx64 "\n",
> + loc, $2, $1.bits / 4, ($2 & mask));
> + free(loc);
> + }
> }
>
> $$.data = data_append_integer($1.data, $2, $1.bits);
> diff --git a/scripts/dtc/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h
> index f2e68807f277..0c91aa7f67b5 100644
> --- a/scripts/dtc/libfdt/fdt.h
> +++ b/scripts/dtc/libfdt/fdt.h
> @@ -35,14 +35,14 @@ struct fdt_reserve_entry {
>
> struct fdt_node_header {
> fdt32_t tag;
> - char name[0];
> + char name[];
> };
>
> struct fdt_property {
> fdt32_t tag;
> fdt32_t len;
> fdt32_t nameoff;
> - char data[0];
> + char data[];
> };
>
> #endif /* !__ASSEMBLY */
> diff --git a/scripts/dtc/version_gen.h b/scripts/dtc/version_gen.h
> index 0f303087b043..99614ec1a289 100644
> --- a/scripts/dtc/version_gen.h
> +++ b/scripts/dtc/version_gen.h
> @@ -1 +1 @@
> -#define DTC_VERSION "DTC 1.6.1-g55778a03"
> +#define DTC_VERSION "DTC 1.6.1-gabbd523b"
> --
> 2.39.0
>

--
Kees Cook