]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
nilfs2: Constify struct kobj_type
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 8 Jul 2024 14:32:42 +0000 (23:32 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 12 Jul 2024 23:39:52 +0000 (16:39 -0700)
'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:
Before:
======
   text    data     bss     dec     hex filename
  22403    4184      24   26611    67f3 fs/nilfs2/sysfs.o

After:
=====
   text    data     bss     dec     hex filename
  22723    3928      24   26675    6833 fs/nilfs2/sysfs.o

Link: https://lkml.kernel.org/r/20240708143242.3296-1-konishi.ryusuke@gmail.com
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/nilfs2/sysfs.c

index 379d22e28ed62c4108dc5b8c77fabe759f391215..a5569b7f47a39df710eafb70c3e450551001df51 100644 (file)
@@ -56,7 +56,7 @@ static void nilfs_##name##_attr_release(struct kobject *kobj) \
                                                sg_##name##_kobj); \
        complete(&subgroups->sg_##name##_kobj_unregister); \
 } \
-static struct kobj_type nilfs_##name##_ktype = { \
+static const struct kobj_type nilfs_##name##_ktype = { \
        .default_groups = nilfs_##name##_groups, \
        .sysfs_ops      = &nilfs_##name##_attr_ops, \
        .release        = nilfs_##name##_attr_release, \
@@ -166,7 +166,7 @@ static const struct sysfs_ops nilfs_snapshot_attr_ops = {
        .store  = nilfs_snapshot_attr_store,
 };
 
-static struct kobj_type nilfs_snapshot_ktype = {
+static const struct kobj_type nilfs_snapshot_ktype = {
        .default_groups = nilfs_snapshot_groups,
        .sysfs_ops      = &nilfs_snapshot_attr_ops,
        .release        = nilfs_snapshot_attr_release,
@@ -967,7 +967,7 @@ static const struct sysfs_ops nilfs_dev_attr_ops = {
        .store  = nilfs_dev_attr_store,
 };
 
-static struct kobj_type nilfs_dev_ktype = {
+static const struct kobj_type nilfs_dev_ktype = {
        .default_groups = nilfs_dev_groups,
        .sysfs_ops      = &nilfs_dev_attr_ops,
        .release        = nilfs_dev_attr_release,