History

scripts/dtc: Update to upstream version v1.7.2-69-g53373d135579

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

Rob Herring (Arm) committed 7 months ago

Commit 5a09df21 parent c349e456 files · +18 −8Browse files

Showing the changes to scripts (6 of 6 files). Show all

Unified · Split

6 files
  1. scripts/dtc/checks.c +1 −1
  2. scripts/dtc/dtc-lexer.l +0 −3
  3. scripts/dtc/dtc.h +1 −1
  4. scripts/dtc/libfdt/fdt.c +8 −0
  5. scripts/dtc/libfdt/fdt_rw.c +7 −2
  6. scripts/dtc/version_gen.h +1 −1
scripts/dtc/checks.c+1−1
@@ -324,7 +324,7 @@ ERROR(node_name_chars, check_node_name_chars, NODECHARS); · 323 unmodified lines
324static void check_node_name_chars_strict(struct check *c, struct dt_info *dti,324static void check_node_name_chars_strict(struct check *c, struct dt_info *dti,
325 struct node *node)325 struct node *node)
326{326{
327 int n = strspn(node->name, c->data);327 size_t n = strspn(node->name, c->data);
328 328
329 if (n < node->basenamelen)329 if (n < node->basenamelen)
330 FAIL(c, dti, node, "Character '%c' not recommended in node name",330 FAIL(c, dti, node, "Character '%c' not recommended in node name",
scripts/dtc/dtc-lexer.l+0−3
@@ -39,8 +39,6 @@ extern bool treesource_error; · 38 unmodified lines
39#define DPRINT(fmt, ...) do { } while (0)39#define DPRINT(fmt, ...) do { } while (0)
40#endif40#endif
41 41
42static int dts_version = 1;
43
44#define BEGIN_DEFAULT() DPRINT("<V1>\n"); \42#define BEGIN_DEFAULT() DPRINT("<V1>\n"); \
45 BEGIN(V1); \43 BEGIN(V1); \
46 44
@@ -101,7 +99,6 @@ static void PRINTF(1, 2) lexical_error(const char *fmt, ...); · 54 unmodified lines
101 99
102<*>"/dts-v1/" {100<*>"/dts-v1/" {
103 DPRINT("Keyword: /dts-v1/\n");101 DPRINT("Keyword: /dts-v1/\n");
104 dts_version = 1;
105 BEGIN_DEFAULT();102 BEGIN_DEFAULT();
106 return DT_V1;103 return DT_V1;
107 }104 }
scripts/dtc/dtc.h+1−1
@@ -227,7 +227,7 @@ struct node { · 226 unmodified lines
227 struct node *next_sibling;227 struct node *next_sibling;
228 228
229 char *fullpath;229 char *fullpath;
230 int basenamelen;230 size_t basenamelen;
231 231
232 cell_t phandle;232 cell_t phandle;
233 int addr_cells, size_cells;233 int addr_cells, size_cells;
scripts/dtc/libfdt/fdt.c+8−0
@@ -110,6 +110,14 @@ int fdt_check_header(const void *fdt) · 109 unmodified lines
110 || (fdt_totalsize(fdt) > INT_MAX))110 || (fdt_totalsize(fdt) > INT_MAX))
111 return -FDT_ERR_TRUNCATED;111 return -FDT_ERR_TRUNCATED;
112 112
113 /* memrsv block must be 8 byte aligned */
114 if (fdt_off_mem_rsvmap(fdt) % sizeof(uint64_t))
115 return -FDT_ERR_ALIGNMENT;
116
117 /* Structure block must be 4 byte aligned */
118 if (fdt_off_dt_struct(fdt) % FDT_TAGSIZE)
119 return -FDT_ERR_ALIGNMENT;
120
113 /* Bounds check memrsv block */121 /* Bounds check memrsv block */
114 if (!check_off_(hdrsize, fdt_totalsize(fdt),122 if (!check_off_(hdrsize, fdt_totalsize(fdt),
115 fdt_off_mem_rsvmap(fdt)))123 fdt_off_mem_rsvmap(fdt)))
scripts/dtc/libfdt/fdt_rw.c+7−2
@@ -22,6 +22,12 @@ static int fdt_blocks_misordered_(const void *fdt, · 21 unmodified lines
22 (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)));22 (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)));
23}23}
24 24
25static void fdt_downgrade_version(void *fdt)
26{
27 if (!can_assume(LATEST) && fdt_version(fdt) > FDT_LAST_SUPPORTED_VERSION)
28 fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION);
29}
30
25static int fdt_rw_probe_(void *fdt)31static int fdt_rw_probe_(void *fdt)
26{32{
27 if (can_assume(VALID_DTB))33 if (can_assume(VALID_DTB))
@@ -33,9 +39,8 @@ static int fdt_rw_probe_(void *fdt) · 5 unmodified lines
33 if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry),39 if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry),
34 fdt_size_dt_struct(fdt)))40 fdt_size_dt_struct(fdt)))
35 return -FDT_ERR_BADLAYOUT;41 return -FDT_ERR_BADLAYOUT;
36 if (!can_assume(LATEST) && fdt_version(fdt) > 17)
37 fdt_set_version(fdt, 17);
38 42
43 fdt_downgrade_version(fdt);
39 return 0;44 return 0;
40}45}
41 46
scripts/dtc/version_gen.h+1−1
@@ -1 +1 @@
1#define DTC_VERSION "DTC 1.7.2-ga26ef640"1#define DTC_VERSION "DTC 1.7.2-g53373d13"