]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
block/rnbd: Constify struct kobj_type
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 8 Jul 2024 18:11:30 +0000 (20:11 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 9 Jul 2024 17:52:03 +0000 (11:52 -0600)
'struct kobj_type' is not modified in this driver. It is only used with
kobject_init_and_add() which takes a "const struct kobj_type *" parameter.

Constifying this structure moves some data to a read-only section, so
increase overall security.

On a x86_64, with allmodconfig, as an example:
Before:
======
   text    data     bss     dec     hex filename
   4082     792       8    4882    1312 drivers/block/rnbd/rnbd-srv-sysfs.o

After:
=====
   text    data     bss     dec     hex filename
   4210     672       8    4890    131a drivers/block/rnbd/rnbd-srv-sysfs.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Link: https://lore.kernel.org/r/e3d454173ffad30726c9351810d3aa7b75122711.1720462252.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/rnbd/rnbd-clt-sysfs.c
drivers/block/rnbd/rnbd-srv-sysfs.c

index 39887556cf95907534f2627621bd774b79cd09d0..6ea7c12e3a871304a4fb1ce03405d33d67072930 100644 (file)
@@ -475,7 +475,7 @@ void rnbd_clt_remove_dev_symlink(struct rnbd_clt_dev *dev)
        }
 }
 
-static struct kobj_type rnbd_dev_ktype = {
+static const struct kobj_type rnbd_dev_ktype = {
        .sysfs_ops      = &kobj_sysfs_ops,
        .default_groups = rnbd_dev_groups,
 };
index cba6ba43c2c287f1127ecdc3a408c0c04544d8e4..64780094442ce72390b3ed3e8f9d38dd3272011b 100644 (file)
@@ -33,7 +33,7 @@ static void rnbd_srv_dev_release(struct kobject *kobj)
        kfree(dev);
 }
 
-static struct kobj_type dev_ktype = {
+static const struct kobj_type dev_ktype = {
        .sysfs_ops = &kobj_sysfs_ops,
        .release = rnbd_srv_dev_release
 };
@@ -184,7 +184,7 @@ static void rnbd_srv_sess_dev_release(struct kobject *kobj)
        rnbd_destroy_sess_dev(sess_dev, sess_dev->keep_id);
 }
 
-static struct kobj_type rnbd_srv_sess_dev_ktype = {
+static const struct kobj_type rnbd_srv_sess_dev_ktype = {
        .sysfs_ops      = &kobj_sysfs_ops,
        .release        = rnbd_srv_sess_dev_release,
 };