3.16.61-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Stefan M Schaeckeler sschaeck@cisco.com
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");