While in theory any value of number of cells is allowed for a #.*-cells property, for all practical purposes the number of cells is never more than a few cells. Add a check that the value is less than 255. This will catch cases like this which will currently pass: #foo-cells = "bar"; Signed-off-by: Rob Herring <robh@xxxxxxxxxx> --- checks.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/checks.c b/checks.c index 903083bfc423..467442250eda 100644 --- a/checks.c +++ b/checks.c @@ -260,8 +260,14 @@ static void check_is_cell(struct check *c, struct dt_info *dti, if (!prop) return; /* Not present, assumed ok */ - if (prop->val.len != sizeof(cell_t)) + if (prop->val.len != sizeof(cell_t)) { FAIL_PROP(c, dti, node, prop, "property is not a single cell"); + return; + } + + /* Sanity test for reasonable number of cells */ + if (propval_cell(prop) > 255) + FAIL_PROP(c, dti, node, prop, "cell size out of range (>255)"); } #define WARNING_IF_NOT_CELL(nm, propname) \ WARNING(nm, check_is_cell, (propname)) -- 2.30.2