HID: roccat: lua: constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Mon, 2 Dec 2024 19:01:40 +0000 (20:01 +0100)
committerJiri Kosina <jkosina@suse.com>
Wed, 11 Dec 2024 14:11:04 +0000 (15:11 +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>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-roccat-lua.c

index d5ddf0d68346b2c147f3c888badb77c06d77f46c..023ec64b4b0ea2f8168839ef6fd2c93c02846eab 100644 (file)
@@ -66,7 +66,7 @@ static ssize_t lua_sysfs_write(struct file *fp, struct kobject *kobj,
 
 #define LUA_SYSFS_W(thingy, THINGY) \
 static ssize_t lua_sysfs_write_ ## thingy(struct file *fp, \
-               struct kobject *kobj, struct bin_attribute *attr, \
+               struct kobject *kobj, const struct bin_attribute *attr, \
                char *buf, loff_t off, size_t count) \
 { \
        return lua_sysfs_write(fp, kobj, buf, off, count, \
@@ -75,7 +75,7 @@ static ssize_t lua_sysfs_write_ ## thingy(struct file *fp, \
 
 #define LUA_SYSFS_R(thingy, THINGY) \
 static ssize_t lua_sysfs_read_ ## thingy(struct file *fp, \
-               struct kobject *kobj, struct bin_attribute *attr, \
+               struct kobject *kobj, const struct bin_attribute *attr, \
                char *buf, loff_t off, size_t count) \
 { \
        return lua_sysfs_read(fp, kobj, buf, off, count, \
@@ -85,11 +85,11 @@ static ssize_t lua_sysfs_read_ ## thingy(struct file *fp, \
 #define LUA_BIN_ATTRIBUTE_RW(thingy, THINGY) \
 LUA_SYSFS_W(thingy, THINGY) \
 LUA_SYSFS_R(thingy, THINGY) \
-static struct bin_attribute lua_ ## thingy ## _attr = { \
+static const struct bin_attribute lua_ ## thingy ## _attr = { \
        .attr = { .name = #thingy, .mode = 0660 }, \
        .size = LUA_SIZE_ ## THINGY, \
-       .read = lua_sysfs_read_ ## thingy, \
-       .write = lua_sysfs_write_ ## thingy \
+       .read_new = lua_sysfs_read_ ## thingy, \
+       .write_new = lua_sysfs_write_ ## thingy \
 };
 
 LUA_BIN_ATTRIBUTE_RW(control, CONTROL)