]> www.infradead.org Git - users/willy/pagecache.git/commitdiff
params: Prepare for 'const struct module_attribute *'
authorThomas Weißschuh <linux@weissschuh.net>
Mon, 16 Dec 2024 17:25:08 +0000 (18:25 +0100)
committerPetr Pavlu <petr.pavlu@suse.com>
Sun, 26 Jan 2025 12:05:23 +0000 (13:05 +0100)
The 'struct module_attribute' sysfs callbacks are about to change to
receive a 'const struct module_attribute *' parameter.
Prepare for that by avoid casting away the constness through
container_of() and using const pointers to 'struct param_attribute'.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>
Link: https://lore.kernel.org/r/20241216-sysfs-const-attr-module-v1-1-3790b53e0abf@weissschuh.net
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
kernel/params.c

index 2e447f8ae183e7ec6d1815c862e0cec6572099d4..e90733824528eacc77046f85c9ab4243467ca841 100644 (file)
@@ -555,13 +555,13 @@ struct module_param_attrs
 };
 
 #ifdef CONFIG_SYSFS
-#define to_param_attr(n) container_of(n, struct param_attribute, mattr)
+#define to_param_attr(n) container_of_const(n, struct param_attribute, mattr)
 
 static ssize_t param_attr_show(struct module_attribute *mattr,
                               struct module_kobject *mk, char *buf)
 {
        int count;
-       struct param_attribute *attribute = to_param_attr(mattr);
+       const struct param_attribute *attribute = to_param_attr(mattr);
 
        if (!attribute->param->ops->get)
                return -EPERM;
@@ -578,7 +578,7 @@ static ssize_t param_attr_store(struct module_attribute *mattr,
                                const char *buf, size_t len)
 {
        int err;
-       struct param_attribute *attribute = to_param_attr(mattr);
+       const struct param_attribute *attribute = to_param_attr(mattr);
 
        if (!attribute->param->ops->set)
                return -EPERM;