platform/x86/intel/pmt: Constify 'struct bin_attribute'
authorThomas Weißschuh <linux@weissschuh.net>
Mon, 2 Dec 2024 19:38:35 +0000 (20:38 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 17 Dec 2024 11:12:57 +0000 (13:12 +0200)
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/20241202-sysfs-const-bin_attr-pdx86-v1-4-9ab204c2a814@weissschuh.net
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/pmt/class.c

index 8ed54b7a333313a0ae4f4b1f56c071f4196e367f..7233b654bbad1537ed0b0b08c56741d46cfe1eaf 100644 (file)
@@ -81,7 +81,7 @@ EXPORT_SYMBOL_NS_GPL(pmt_telem_read_mmio, "INTEL_PMT");
  */
 static ssize_t
 intel_pmt_read(struct file *filp, struct kobject *kobj,
-              struct bin_attribute *attr, char *buf, loff_t off,
+              const struct bin_attribute *attr, char *buf, loff_t off,
               size_t count)
 {
        struct intel_pmt_entry *entry = container_of(attr,
@@ -308,7 +308,7 @@ static int intel_pmt_dev_register(struct intel_pmt_entry *entry,
        entry->pmt_bin_attr.attr.name = ns->name;
        entry->pmt_bin_attr.attr.mode = 0440;
        entry->pmt_bin_attr.mmap = intel_pmt_mmap;
-       entry->pmt_bin_attr.read = intel_pmt_read;
+       entry->pmt_bin_attr.read_new = intel_pmt_read;
        entry->pmt_bin_attr.size = entry->size;
 
        ret = sysfs_create_bin_file(&dev->kobj, &entry->pmt_bin_attr);