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
324324 static void check_node_name_chars_strict(struct check *c, struct dt_info *dti,
325325 struct node *node)
326326 {
327− int n = strspn(node->name, c->data);
327+ size_t n = strspn(node->name, c->data);
328328
329329 if (n < node->basenamelen)
330330 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
3939 #define DPRINT(fmt, ...) do { } while (0)
4040 #endif
4141
42−static int dts_version = 1;
43−
4442 #define BEGIN_DEFAULT() DPRINT("<V1>\n"); \
4543 BEGIN(V1); \
4644
@@ -101,7 +99,6 @@ static void PRINTF(1, 2) lexical_error(const char *fmt, ...); · 54 unmodified lines
10199
102100 <*>"/dts-v1/" {
103101 DPRINT("Keyword: /dts-v1/\n");
104− dts_version = 1;
105102 BEGIN_DEFAULT();
106103 return DT_V1;
107104 }
scripts/dtc/dtc.h+1−1
@@ -227,7 +227,7 @@ struct node { · 226 unmodified lines
227227 struct node *next_sibling;
228228
229229 char *fullpath;
230− int basenamelen;
230+ size_t basenamelen;
231231
232232 cell_t phandle;
233233 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
110110 || (fdt_totalsize(fdt) > INT_MAX))
111111 return -FDT_ERR_TRUNCATED;
112112
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+
113121 /* Bounds check memrsv block */
114122 if (!check_off_(hdrsize, fdt_totalsize(fdt),
115123 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
2222 (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)));
2323 }
2424
25+static 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+
2531 static int fdt_rw_probe_(void *fdt)
2632 {
2733 if (can_assume(VALID_DTB))
@@ -33,9 +39,8 @@ static int fdt_rw_probe_(void *fdt) · 5 unmodified lines
3339 if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry),
3440 fdt_size_dt_struct(fdt)))
3541 return -FDT_ERR_BADLAYOUT;
36− if (!can_assume(LATEST) && fdt_version(fdt) > 17)
37− fdt_set_version(fdt, 17);
3842
43+ fdt_downgrade_version(fdt);
3944 return 0;
4045 }
4146
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"