]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
firmware: google: gsmi: Constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Sun, 15 Dec 2024 14:49:10 +0000 (15:49 +0100)
committerTzung-Bi Shih <tzungbi@kernel.org>
Tue, 17 Dec 2024 03:59:31 +0000 (03:59 +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: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20241215-sysfs-const-bin_attr-google-v1-2-e5c2808f5833@weissschuh.net
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/firmware/google/gsmi.c

index 24e666d5c3d1a231d611ad3c20816c1d223a0dc5..e8fb00dcaf65bc593dd15562f20aeea482ccfc3e 100644 (file)
@@ -488,7 +488,7 @@ static const struct efivar_operations efivar_ops = {
 #endif /* CONFIG_EFI */
 
 static ssize_t eventlog_write(struct file *filp, struct kobject *kobj,
-                              struct bin_attribute *bin_attr,
+                              const struct bin_attribute *bin_attr,
                               char *buf, loff_t pos, size_t count)
 {
        struct gsmi_set_eventlog_param param = {
@@ -528,9 +528,9 @@ static ssize_t eventlog_write(struct file *filp, struct kobject *kobj,
 
 }
 
-static struct bin_attribute eventlog_bin_attr = {
+static const struct bin_attribute eventlog_bin_attr = {
        .attr = {.name = "append_to_eventlog", .mode = 0200},
-       .write = eventlog_write,
+       .write_new = eventlog_write,
 };
 
 static ssize_t gsmi_clear_eventlog_store(struct kobject *kobj,