Commit 38e3fe65 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Petr Pavlu
Browse files

module: Handle 'struct module_version_attribute' as const



The structure is always read-only due to its placement in the read-only
section __modver. Reflect this at its usage sites.
Also prepare for the const handling of 'struct module_attribute' itself.

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


Signed-off-by: default avatarPetr Pavlu <petr.pavlu@suse.com>
parent 30d44608
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -275,7 +275,7 @@ extern typeof(name) __mod_device_table__##type##__##name \
#else
#define MODULE_VERSION(_version)					\
	MODULE_INFO(version, _version);					\
	static struct module_version_attribute __modver_attr		\
	static const struct module_version_attribute __modver_attr	\
		__used __section("__modver")				\
		__aligned(__alignof__(struct module_version_attribute)) \
		= {							\
+2 −2
Original line number Diff line number Diff line
@@ -860,8 +860,8 @@ static void __init param_sysfs_builtin(void)
ssize_t __modver_version_show(struct module_attribute *mattr,
			      struct module_kobject *mk, char *buf)
{
	struct module_version_attribute *vattr =
		container_of(mattr, struct module_version_attribute, mattr);
	const struct module_version_attribute *vattr =
		container_of_const(mattr, struct module_version_attribute, mattr);

	return scnprintf(buf, PAGE_SIZE, "%s\n", vattr->version);
}