Skip to content

Commit 482137b

Browse files
frowandrobherring
authored andcommitted
of: overlay: validate offset from property fixups
The smatch static checker marks the data in offset as untrusted, leading it to warn: drivers/of/resolver.c:125 update_usages_of_a_phandle_reference() error: buffer underflow 'prop->value' 's32min-s32max' Add check to verify that offset is within the property data. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Frank Rowand <[email protected]> Cc: <[email protected]> Signed-off-by: Rob Herring <[email protected]>
1 parent 3b9cf79 commit 482137b

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/of/resolver.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,11 @@ static int update_usages_of_a_phandle_reference(struct device_node *overlay,
122122
goto err_fail;
123123
}
124124

125+
if (offset < 0 || offset + sizeof(__be32) > prop->length) {
126+
err = -EINVAL;
127+
goto err_fail;
128+
}
129+
125130
*(__be32 *)(prop->value + offset) = cpu_to_be32(phandle);
126131
}
127132

0 commit comments

Comments
 (0)