Re: [PATCH v5 2/4] device property: constify property arrays values

From: Andy Shevchenko
Date: Fri Feb 03 2017 - 06:43:37 EST


On Thu, 2017-02-02 at 17:41 -0800, Dmitry Torokhov wrote:
> Data that is fed into property arrays should not be modified, so let's
> mark
> relevant pointers as const. This will allow us making source arrays as
> const/__initconst.
>

> @@ -718,7 +718,8 @@ static void pset_free_set(struct property_set
> *pset)
> Âstatic int pset_copy_entry(struct property_entry *dst,
> Â ÂÂÂconst struct property_entry *src)
> Â{
> - const char **d, **s;
> + const char * const *s;
> + char **d;

You removed const here

> Â size_t i, nval;
> Â
> Â dst->name = kstrdup(src->name, GFP_KERNEL);
> @@ -731,12 +732,11 @@ static int pset_copy_entry(struct property_entry
> *dst,
> Â
> Â if (src->is_string) {
> Â nval = src->length / sizeof(const char *);
> - dst->pointer.str = kcalloc(nval, sizeof(const
> char *),
> - ÂÂÂGFP_KERNEL);
> - if (!dst->pointer.str)
> + d = kcalloc(nval, sizeof(const char *),
> GFP_KERNEL);

But left it here. Do we need to remove const?

> + if (!d)
> Â return -ENOMEM;
> Â
> - d = dst->pointer.str;
> + dst->pointer.raw_data = d;
> Â s = src->pointer.str;

So, overall, do we need these changes at all? Nothing in commit message
sheds a light on it.

> Â for (i = 0; i < nval; i++) {
> Â d[i] = kstrdup(s[i], GFP_KERNEL);

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy