]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mtd: spi-nor: sysfs: constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Sun, 22 Dec 2024 20:15:55 +0000 (21:15 +0100)
committerPratyush Yadav <pratyush@kernel.org>
Mon, 13 Jan 2025 17:47:03 +0000 (17:47 +0000)
The sysfs core now allows instances of 'struct bin_attribute' to be
moved into read-only memory. Make use of that to protect them against
accidental or malicious modifications.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Pratyush Yadav <pratyush@kernel.org>
Signed-off-by: Pratyush Yadav <pratyush@kernel.org>
Link: https://lore.kernel.org/r/20241222-sysfs-const-bin_attr-mtd-v1-1-ee13140a4e9b@weissschuh.net
drivers/mtd/spi-nor/sysfs.c

index 5e9eb268073d18e0a46089000f18a3200b4bf13d..4f12ff755df06cee04125efd5036245c51b49af4 100644 (file)
@@ -50,7 +50,7 @@ static struct attribute *spi_nor_sysfs_entries[] = {
 };
 
 static ssize_t sfdp_read(struct file *filp, struct kobject *kobj,
-                        struct bin_attribute *bin_attr, char *buf,
+                        const struct bin_attribute *bin_attr, char *buf,
                         loff_t off, size_t count)
 {
        struct spi_device *spi = to_spi_device(kobj_to_dev(kobj));
@@ -62,9 +62,9 @@ static ssize_t sfdp_read(struct file *filp, struct kobject *kobj,
        return memory_read_from_buffer(buf, count, &off, nor->sfdp->dwords,
                                       sfdp_size);
 }
-static BIN_ATTR_RO(sfdp, 0);
+static const BIN_ATTR_RO(sfdp, 0);
 
-static struct bin_attribute *spi_nor_sysfs_bin_entries[] = {
+static const struct bin_attribute *const spi_nor_sysfs_bin_entries[] = {
        &bin_attr_sfdp,
        NULL
 };
@@ -104,7 +104,7 @@ static const struct attribute_group spi_nor_sysfs_group = {
        .is_visible     = spi_nor_sysfs_is_visible,
        .is_bin_visible = spi_nor_sysfs_is_bin_visible,
        .attrs          = spi_nor_sysfs_entries,
-       .bin_attrs      = spi_nor_sysfs_bin_entries,
+       .bin_attrs_new  = spi_nor_sysfs_bin_entries,
 };
 
 const struct attribute_group *spi_nor_sysfs_groups[] = {