]> git.itanic.dy.fi Git - linux-stable/commitdiff
parport: Save a few bytes of memory
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Fri, 24 Nov 2023 21:14:36 +0000 (22:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 7 Dec 2023 02:09:31 +0000 (11:09 +0900)
Most of parport_register_dev_model() callers pass a 'name' that is a
constant string.

So kstrdup_const() can be used to save the duplication of this string
when it is not needed. This saves a few bytes of memory.

Use kfree_const() accordingly when this string is freed.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/0eba5f2ddd142ab0f577f67e482d1152b40ee720.1700860416.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parport/share.c

index e21831d93305d215ae7454c1f1ea36bbcca364b9..49c74ded8a53ce70279246c9d85aa4698c084110 100644 (file)
@@ -611,7 +611,7 @@ static void free_pardevice(struct device *dev)
 {
        struct pardevice *par_dev = to_pardevice(dev);
 
-       kfree(par_dev->name);
+       kfree_const(par_dev->name);
        kfree(par_dev);
 }
 
@@ -682,8 +682,8 @@ parport_register_dev_model(struct parport *port, const char *name,
                           const struct pardev_cb *par_dev_cb, int id)
 {
        struct pardevice *par_dev;
+       const char *devname;
        int ret;
-       char *devname;
 
        if (port->physport->flags & PARPORT_FLAG_EXCL) {
                /* An exclusive device is registered. */
@@ -726,7 +726,7 @@ parport_register_dev_model(struct parport *port, const char *name,
        if (!par_dev->state)
                goto err_put_par_dev;
 
-       devname = kstrdup(name, GFP_KERNEL);
+       devname = kstrdup_const(name, GFP_KERNEL);
        if (!devname)
                goto err_free_par_dev;
 
@@ -804,7 +804,7 @@ parport_register_dev_model(struct parport *port, const char *name,
        return par_dev;
 
 err_free_devname:
-       kfree(devname);
+       kfree_const(devname);
 err_free_par_dev:
        kfree(par_dev->state);
 err_put_par_dev: