]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scripts/dtc: Update to upstream version v1.7.2-69-g53373d135579
authorRob Herring (Arm) <robh@kernel.org>
Tue, 7 Apr 2026 20:04:13 +0000 (15:04 -0500)
committerRob Herring (Arm) <robh@kernel.org>
Tue, 7 Apr 2026 20:04:13 +0000 (15:04 -0500)
This adds the following commits from upstream:

53373d135579 dtc: Remove unused dts_version in dtc-lexer.l
caf7465c5d60 libfdt: fdt_check_full: Handle FDT_NOP when FDT_END is expected
5976c4a66098 libfdt: fdt_rw: Introduce fdt_downgrade_version()
5bb5bedd347d fdtdump: Return an error code on wrong tag value
68b960e299f7 fdtdump: Remove dtb version check
adba02caf554 dtc: Use a consistent type for basenamelen
8d15a63e84ff libfdt: Verify alignment of sub-blocks in dtb

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
scripts/dtc/checks.c
scripts/dtc/dtc-lexer.l
scripts/dtc/dtc.h
scripts/dtc/libfdt/fdt.c
scripts/dtc/libfdt/fdt_rw.c
scripts/dtc/version_gen.h

index 45d0213f3bf3374dde6d3d86368f830c15c52c52..946c1429e0f1df0e5ce0f6f96d69aad27881334d 100644 (file)
@@ -324,7 +324,7 @@ ERROR(node_name_chars, check_node_name_chars, NODECHARS);
 static void check_node_name_chars_strict(struct check *c, struct dt_info *dti,
                                         struct node *node)
 {
-       int n = strspn(node->name, c->data);
+       size_t n = strspn(node->name, c->data);
 
        if (n < node->basenamelen)
                FAIL(c, dti, node, "Character '%c' not recommended in node name",
index 15d585c8079802d3ab6b00b28bb0aa7bfdb386e9..1b129b118b0f77ec0987a9cb6e2334f816fac792 100644 (file)
@@ -39,8 +39,6 @@ extern bool treesource_error;
 #define DPRINT(fmt, ...)       do { } while (0)
 #endif
 
-static int dts_version = 1;
-
 #define BEGIN_DEFAULT()                DPRINT("<V1>\n"); \
                                BEGIN(V1); \
 
@@ -101,7 +99,6 @@ static void PRINTF(1, 2) lexical_error(const char *fmt, ...);
 
 <*>"/dts-v1/"  {
                        DPRINT("Keyword: /dts-v1/\n");
-                       dts_version = 1;
                        BEGIN_DEFAULT();
                        return DT_V1;
                }
index 7231200e5d02ccd420b3f3e37ae41fd8314b280a..473552ebf017e090dc50369e7f557d3e6a19cd8c 100644 (file)
@@ -227,7 +227,7 @@ struct node {
        struct node *next_sibling;
 
        char *fullpath;
-       int basenamelen;
+       size_t basenamelen;
 
        cell_t phandle;
        int addr_cells, size_cells;
index 95f644c31f9431eb597b6f683741ff9be375cebf..56d4dcb2dc92d4cfdda079c47d81f4f52ca047bd 100644 (file)
@@ -110,6 +110,14 @@ int fdt_check_header(const void *fdt)
                    || (fdt_totalsize(fdt) > INT_MAX))
                        return -FDT_ERR_TRUNCATED;
 
+               /* memrsv block must be 8 byte aligned */
+               if (fdt_off_mem_rsvmap(fdt) % sizeof(uint64_t))
+                       return -FDT_ERR_ALIGNMENT;
+
+               /* Structure block must be 4 byte aligned */
+               if (fdt_off_dt_struct(fdt) % FDT_TAGSIZE)
+                       return -FDT_ERR_ALIGNMENT;
+
                /* Bounds check memrsv block */
                if (!check_off_(hdrsize, fdt_totalsize(fdt),
                                fdt_off_mem_rsvmap(fdt)))
index 7475cafce071307796d7944ff8278aa5597d0812..90ea14e944cc9bf71b92c0a9fb8081be8b592cbe 100644 (file)
@@ -22,6 +22,12 @@ static int fdt_blocks_misordered_(const void *fdt,
                    (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)));
 }
 
+static void fdt_downgrade_version(void *fdt)
+{
+       if (!can_assume(LATEST) && fdt_version(fdt) > FDT_LAST_SUPPORTED_VERSION)
+               fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION);
+}
+
 static int fdt_rw_probe_(void *fdt)
 {
        if (can_assume(VALID_DTB))
@@ -33,9 +39,8 @@ static int fdt_rw_probe_(void *fdt)
        if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry),
                                   fdt_size_dt_struct(fdt)))
                return -FDT_ERR_BADLAYOUT;
-       if (!can_assume(LATEST) && fdt_version(fdt) > 17)
-               fdt_set_version(fdt, 17);
 
+       fdt_downgrade_version(fdt);
        return 0;
 }
 
index 5730bf457b3308301453879b3fac15bc84c70110..122e684e76a107dceccddb26998dd61a9b766dac 100644 (file)
@@ -1 +1 @@
-#define DTC_VERSION "DTC 1.7.2-ga26ef640"
+#define DTC_VERSION "DTC 1.7.2-g53373d13"