]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netxen_nic: constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Mon, 16 Dec 2024 11:30:11 +0000 (12:30 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Dec 2024 03:00:51 +0000 (19:00 -0800)
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>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241216-sysfs-const-bin_attr-net-v1-4-ec460b91f274@weissschuh.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c

index 9cff0a8ffb2c55de195983051e4e7f8568528c0f..3383ee1dad14e2cb40062b27f32a7cffb6f3fac2 100644 (file)
@@ -2832,7 +2832,7 @@ netxen_sysfs_validate_crb(struct netxen_adapter *adapter,
 
 static ssize_t
 netxen_sysfs_read_crb(struct file *filp, struct kobject *kobj,
-               struct bin_attribute *attr,
+               const struct bin_attribute *attr,
                char *buf, loff_t offset, size_t size)
 {
        struct device *dev = kobj_to_dev(kobj);
@@ -2860,7 +2860,7 @@ netxen_sysfs_read_crb(struct file *filp, struct kobject *kobj,
 
 static ssize_t
 netxen_sysfs_write_crb(struct file *filp, struct kobject *kobj,
-               struct bin_attribute *attr,
+               const struct bin_attribute *attr,
                char *buf, loff_t offset, size_t size)
 {
        struct device *dev = kobj_to_dev(kobj);
@@ -2901,7 +2901,7 @@ netxen_sysfs_validate_mem(struct netxen_adapter *adapter,
 
 static ssize_t
 netxen_sysfs_read_mem(struct file *filp, struct kobject *kobj,
-               struct bin_attribute *attr,
+               const struct bin_attribute *attr,
                char *buf, loff_t offset, size_t size)
 {
        struct device *dev = kobj_to_dev(kobj);
@@ -2922,7 +2922,7 @@ netxen_sysfs_read_mem(struct file *filp, struct kobject *kobj,
 }
 
 static ssize_t netxen_sysfs_write_mem(struct file *filp, struct kobject *kobj,
-               struct bin_attribute *attr, char *buf,
+               const struct bin_attribute *attr, char *buf,
                loff_t offset, size_t size)
 {
        struct device *dev = kobj_to_dev(kobj);
@@ -2946,20 +2946,20 @@ static ssize_t netxen_sysfs_write_mem(struct file *filp, struct kobject *kobj,
 static const struct bin_attribute bin_attr_crb = {
        .attr = { .name = "crb", .mode = 0644 },
        .size = 0,
-       .read = netxen_sysfs_read_crb,
-       .write = netxen_sysfs_write_crb,
+       .read_new = netxen_sysfs_read_crb,
+       .write_new = netxen_sysfs_write_crb,
 };
 
 static const struct bin_attribute bin_attr_mem = {
        .attr = { .name = "mem", .mode = 0644 },
        .size = 0,
-       .read = netxen_sysfs_read_mem,
-       .write = netxen_sysfs_write_mem,
+       .read_new = netxen_sysfs_read_mem,
+       .write_new = netxen_sysfs_write_mem,
 };
 
 static ssize_t
 netxen_sysfs_read_dimm(struct file *filp, struct kobject *kobj,
-               struct bin_attribute *attr,
+               const struct bin_attribute *attr,
                char *buf, loff_t offset, size_t size)
 {
        struct device *dev = kobj_to_dev(kobj);
@@ -3082,7 +3082,7 @@ out:
 static const struct bin_attribute bin_attr_dimm = {
        .attr = { .name = "dimm", .mode = 0644 },
        .size = sizeof(struct netxen_dimm_cfg),
-       .read = netxen_sysfs_read_dimm,
+       .read_new = netxen_sysfs_read_dimm,
 };