]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
misc: c2port: Constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Sat, 21 Dec 2024 14:48:11 +0000 (15:48 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Dec 2024 08:36:02 +0000 (09:36 +0100)
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>
Link: https://lore.kernel.org/r/20241221-sysfs-const-bin_attr-misc-drivers-v2-5-ba5e79fe8771@weissschuh.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/c2port/core.c

index f455d702b9cd4999648a57985e305aac5301403f..fc64474b8241b73df4937bd4bac5593fbb96016c 100644 (file)
@@ -714,7 +714,7 @@ static ssize_t __c2port_read_flash_data(struct c2port_device *dev,
 }
 
 static ssize_t c2port_read_flash_data(struct file *filp, struct kobject *kobj,
-                               struct bin_attribute *attr,
+                               const struct bin_attribute *attr,
                                char *buffer, loff_t offset, size_t count)
 {
        struct c2port_device *c2dev = dev_get_drvdata(kobj_to_dev(kobj));
@@ -829,7 +829,7 @@ static ssize_t __c2port_write_flash_data(struct c2port_device *dev,
 }
 
 static ssize_t c2port_write_flash_data(struct file *filp, struct kobject *kobj,
-                               struct bin_attribute *attr,
+                               const struct bin_attribute *attr,
                                char *buffer, loff_t offset, size_t count)
 {
        struct c2port_device *c2dev = dev_get_drvdata(kobj_to_dev(kobj));
@@ -849,8 +849,8 @@ static ssize_t c2port_write_flash_data(struct file *filp, struct kobject *kobj,
        return ret;
 }
 /* size is computed at run-time */
-static BIN_ATTR(flash_data, 0644, c2port_read_flash_data,
-               c2port_write_flash_data, 0);
+static const BIN_ATTR(flash_data, 0644, c2port_read_flash_data,
+                     c2port_write_flash_data, 0);
 
 /*
  * Class attributes
@@ -869,7 +869,7 @@ static struct attribute *c2port_attrs[] = {
        NULL,
 };
 
-static struct bin_attribute *c2port_bin_attrs[] = {
+static const struct bin_attribute *const c2port_bin_attrs[] = {
        &bin_attr_flash_data,
        NULL,
 };
@@ -888,7 +888,7 @@ static size_t c2port_bin_attr_size(struct kobject *kobj,
 
 static const struct attribute_group c2port_group = {
        .attrs = c2port_attrs,
-       .bin_attrs = c2port_bin_attrs,
+       .bin_attrs_new = c2port_bin_attrs,
        .bin_size = c2port_bin_attr_size,
 };