| From: Stefan M Schaeckeler <sschaeck@cisco.com> |
| Date: Mon, 21 May 2018 16:26:14 -0700 |
| Subject: of: unittest: for strings, account for trailing \\0 in property length |
| field |
| |
| commit 3b9cf7905fe3ab35ab437b5072c883e609d3498d upstream. |
| |
| For strings, account for trailing \0 in property length field: |
| |
| This is consistent with how dtc builds string properties. |
| |
| Function __of_prop_dup() would misbehave on such properties as it duplicates |
| properties based on the property length field creating new string values |
| without trailing \0s. |
| |
| Signed-off-by: Stefan M Schaeckeler <sschaeck@cisco.com> |
| Reviewed-by: Frank Rowand <frank.rowand@sony.com> |
| Tested-by: Frank Rowand <frank.rowand@sony.com> |
| Signed-off-by: Rob Herring <robh@kernel.org> |
| [bwh: Backported to 3.16: s/unittest/selftest/] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/of/selftest.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/of/selftest.c |
| +++ b/drivers/of/selftest.c |
| @@ -97,20 +97,20 @@ static void __init of_selftest_dynamic(v |
| /* Add a new property - should pass*/ |
| prop->name = "new-property"; |
| prop->value = "new-property-data"; |
| - prop->length = strlen(prop->value); |
| + prop->length = strlen(prop->value) + 1; |
| selftest(of_add_property(np, prop) == 0, "Adding a new property failed\n"); |
| |
| /* Try to add an existing property - should fail */ |
| prop++; |
| prop->name = "new-property"; |
| prop->value = "new-property-data-should-fail"; |
| - prop->length = strlen(prop->value); |
| + prop->length = strlen(prop->value) + 1; |
| selftest(of_add_property(np, prop) != 0, |
| "Adding an existing property should have failed\n"); |
| |
| /* Try to modify an existing property - should pass */ |
| prop->value = "modify-property-data-should-pass"; |
| - prop->length = strlen(prop->value); |
| + prop->length = strlen(prop->value) + 1; |
| selftest(of_update_property(np, prop) == 0, |
| "Updating an existing property should have passed\n"); |
| |
| @@ -118,7 +118,7 @@ static void __init of_selftest_dynamic(v |
| prop++; |
| prop->name = "modify-property"; |
| prop->value = "modify-missing-property-data-should-pass"; |
| - prop->length = strlen(prop->value); |
| + prop->length = strlen(prop->value) + 1; |
| selftest(of_update_property(np, prop) == 0, |
| "Updating a missing property should have passed\n"); |
| |