aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/of/fdt.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2012-11-14 17:37:12 -0500
committerGrant Likely <grant.likely@secretlab.ca>2012-11-17 07:05:57 -0500
commitc22618a11d1ba2966bd2cfd5e4918ed4f2dad13e (patch)
treee317e1413afd8f80ea4ddc036703ff447c1c0901 /drivers/of/fdt.c
parent31982e52f0f5d6d51e69d5c4c4a7be5d52307c6e (diff)
drivers/of: Constify device_node->name and ->path_component_name
Neither of these should ever be changed once set. Make them const and fix up the users that try to modify it in-place. In one case kmalloc+memcpy is replaced with kstrdup() to avoid modifying the string. Build tested with defconfigs on ARM, PowerPC, Sparc, MIPS, x86 among others. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: David S. Miller <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Julian Calaby <julian.calaby@gmail.com>
Diffstat (limited to 'drivers/of/fdt.c')
-rw-r--r--drivers/of/fdt.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index c2b08dcdbc53..c8be32644c85 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -199,10 +199,10 @@ static unsigned long unflatten_dt_node(struct boot_param_header *blob,
199 np = unflatten_dt_alloc(&mem, sizeof(struct device_node) + allocl, 199 np = unflatten_dt_alloc(&mem, sizeof(struct device_node) + allocl,
200 __alignof__(struct device_node)); 200 __alignof__(struct device_node));
201 if (allnextpp) { 201 if (allnextpp) {
202 char *fn;
202 memset(np, 0, sizeof(*np)); 203 memset(np, 0, sizeof(*np));
203 np->full_name = ((char *)np) + sizeof(struct device_node); 204 np->full_name = fn = ((char *)np) + sizeof(*np);
204 if (new_format) { 205 if (new_format) {
205 char *fn = np->full_name;
206 /* rebuild full path for new format */ 206 /* rebuild full path for new format */
207 if (dad && dad->parent) { 207 if (dad && dad->parent) {
208 strcpy(fn, dad->full_name); 208 strcpy(fn, dad->full_name);
@@ -216,9 +216,9 @@ static unsigned long unflatten_dt_node(struct boot_param_header *blob,
216 fn += strlen(fn); 216 fn += strlen(fn);
217 } 217 }
218 *(fn++) = '/'; 218 *(fn++) = '/';
219 memcpy(fn, pathp, l); 219 }
220 } else 220 memcpy(fn, pathp, l);
221 memcpy(np->full_name, pathp, l); 221
222 prev_pp = &np->properties; 222 prev_pp = &np->properties;
223 **allnextpp = np; 223 **allnextpp = np;
224 *allnextpp = &np->allnext; 224 *allnextpp = &np->allnext;