diff options
author | Johan Hovold <johan@kernel.org> | 2020-11-23 11:23:14 +0100 |
---|---|---|
committer | Jessica Yu <jeyu@kernel.org> | 2020-11-25 15:44:36 +0100 |
commit | 0801a0073f86e020987acbbd96b50f9c85d79de8 (patch) | |
tree | 77e4c9384c7c28005dd0a76859248a83c65bb47d /include/linux/module.h | |
parent | 24b9f0d22081455b6fd739c8365958c207a69973 (diff) | |
download | lwn-0801a0073f86e020987acbbd96b50f9c85d79de8.tar.gz lwn-0801a0073f86e020987acbbd96b50f9c85d79de8.zip |
module: drop version-attribute alignment
Commit 98562ad8cb03 ("module: explicitly align module_version_attribute
structure") added an alignment attribute to the struct
module_version_attribute type in order to fix an alignment issue on m68k
where the structure is 2-byte aligned while MODULE_VERSION() forced the
__modver section entries to be 4-byte aligned (sizeof(void *)).
This was essentially an alternative fix to the problem addressed by
b4bc842802db ("module: deal with alignment issues in built-in module
versions") which used the array-of-pointer trick to prevent gcc from
increasing alignment of the version attribute entries. And with the
pointer indirection in place there's no need to increase the alignment
of the type.
Link: https://lore.kernel.org/lkml/20201103175711.10731-1-johan@kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Diffstat (limited to 'include/linux/module.h')
-rw-r--r-- | include/linux/module.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 7ccdf87f376f..293250958512 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -66,7 +66,7 @@ struct module_version_attribute { struct module_attribute mattr; const char *module_name; const char *version; -} __attribute__ ((__aligned__(sizeof(void *)))); +}; extern ssize_t __modver_version_show(struct module_attribute *, struct module_kobject *, char *); |