driver core: make kobj_type structures constant
authorThomas Weißschuh <linux@weissschuh.net>
Sat, 4 Feb 2023 22:36:58 +0000 (22:36 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Feb 2023 12:34:30 +0000 (13:34 +0100)
Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.")
the driver core allows the usage of const struct kobj_type.

Take advantage of this to constify the structure definitions to prevent
modification at runtime.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20230204-kobj_type-driver-core-v1-1-b9f809419f2c@weissschuh.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/bus.c
drivers/base/class.c
drivers/base/core.c
drivers/base/swnode.c

index aa70b3a..d6b4a5d 100644 (file)
@@ -91,7 +91,7 @@ static void driver_release(struct kobject *kobj)
        kfree(drv_priv);
 }
 
-static struct kobj_type driver_ktype = {
+static const struct kobj_type driver_ktype = {
        .sysfs_ops      = &driver_sysfs_ops,
        .release        = driver_release,
 };
@@ -159,7 +159,7 @@ static void bus_release(struct kobject *kobj)
        bus->p = NULL;
 }
 
-static struct kobj_type bus_ktype = {
+static const struct kobj_type bus_ktype = {
        .sysfs_ops      = &bus_sysfs_ops,
        .release        = bus_release,
 };
index a38b0d7..89d4528 100644 (file)
@@ -77,7 +77,7 @@ static const struct sysfs_ops class_sysfs_ops = {
        .store     = class_attr_store,
 };
 
-static struct kobj_type class_ktype = {
+static const struct kobj_type class_ktype = {
        .sysfs_ops      = &class_sysfs_ops,
        .release        = class_release,
        .child_ns_type  = class_child_ns_type,
index e4b18f7..3c4acf4 100644 (file)
@@ -2354,7 +2354,7 @@ static void device_get_ownership(const struct kobject *kobj, kuid_t *uid, kgid_t
                dev->class->get_ownership(dev, uid, gid);
 }
 
-static struct kobj_type device_ktype = {
+static const struct kobj_type device_ktype = {
        .release        = device_release,
        .sysfs_ops      = &dev_sysfs_ops,
        .namespace      = device_namespace,
@@ -2992,7 +2992,7 @@ struct kobj_ns_type_operations *class_dir_child_ns_type(const struct kobject *ko
        return dir->class->ns_type;
 }
 
-static struct kobj_type class_dir_ktype = {
+static const struct kobj_type class_dir_ktype = {
        .release        = class_dir_release,
        .sysfs_ops      = &kobj_sysfs_ops,
        .child_ns_type  = class_dir_child_ns_type
index da3c1c2..1886995 100644 (file)
@@ -760,7 +760,7 @@ static void software_node_release(struct kobject *kobj)
        kfree(swnode);
 }
 
-static struct kobj_type software_node_type = {
+static const struct kobj_type software_node_type = {
        .release = software_node_release,
        .sysfs_ops = &kobj_sysfs_ops,
 };