w1: ds2406: Constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Wed, 11 Dec 2024 17:50:17 +0000 (18:50 +0100)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sat, 14 Dec 2024 10:06:15 +0000 (11:06 +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/20241211-sysfs-const-bin_attr-w1-v1-2-c4befd2aa7cc@weissschuh.net
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/w1/slaves/w1_ds2406.c

index 2f5926859b8b3300c31be3f1d59e570984036109..1cae9b243ff87f0013e55c7aa51cd1798741e9ca 100644 (file)
@@ -24,7 +24,7 @@
 
 static ssize_t w1_f12_read_state(
        struct file *filp, struct kobject *kobj,
-       struct bin_attribute *bin_attr,
+       const struct bin_attribute *bin_attr,
        char *buf, loff_t off, size_t count)
 {
        u8 w1_buf[6] = {W1_F12_FUNC_READ_STATUS, 7, 0, 0, 0, 0};
@@ -61,7 +61,7 @@ static ssize_t w1_f12_read_state(
 
 static ssize_t w1_f12_write_output(
        struct file *filp, struct kobject *kobj,
-       struct bin_attribute *bin_attr,
+       const struct bin_attribute *bin_attr,
        char *buf, loff_t off, size_t count)
 {
        struct w1_slave *sl = kobj_to_w1_slave(kobj);
@@ -95,14 +95,14 @@ static ssize_t w1_f12_write_output(
 }
 
 #define NB_SYSFS_BIN_FILES 2
-static struct bin_attribute w1_f12_sysfs_bin_files[NB_SYSFS_BIN_FILES] = {
+static const struct bin_attribute w1_f12_sysfs_bin_files[NB_SYSFS_BIN_FILES] = {
        {
                .attr = {
                        .name = "state",
                        .mode = 0444,
                },
                .size = 1,
-               .read = w1_f12_read_state,
+               .read_new = w1_f12_read_state,
        },
        {
                .attr = {
@@ -110,7 +110,7 @@ static struct bin_attribute w1_f12_sysfs_bin_files[NB_SYSFS_BIN_FILES] = {
                        .mode = 0664,
                },
                .size = 1,
-               .write = w1_f12_write_output,
+               .write_new = w1_f12_write_output,
        }
 };