On 9/17/26 9:20 AM, Gary Guo wrote:
> On Thu Sep 17, 2026 at 6:11 AM BST, =?UTF-8?q?Thi=C3=A9baud=20Weksteen?=
> wrote:
>> Module authors may have non-ASCII characters in their names. In C,
>> `MODULE_AUTHOR` allows arbitrary string literals which are emitted as
>> raw UTF-8 bytes into the `.modinfo` section, and multiple in-tree
>> modules use non-ASCII author names.
>>
>> Originally, the single `author` field permitted arbitrary string literals
>> including non-ASCII characters. When support for multiple authors was
>> introduced in commit 38559da6afb2 ("rust: module: introduce `authors`
>> key"), it reused the `expect_string_array` helper that had originally been
>> added for module aliases. Because that helper enforced an ASCII check,
>> `authors` inadvertently became restricted to ASCII-only string literals.
>> Later, when the macro parsing was rewritten to use `syn` in commit
>> c578ad703ae9 ("rust: macros: use `syn` to parse `module!` macro"), this
>> restriction was carried over by using AsciiLitStr in `authors` type.
>>
>> Change the element type of `authors` in `ModuleInfo` from `AsciiLitStr`
>> to `LitStr` so that UTF-8 author names are permitted.
>>
>> Fixes: 38559da6afb2 ("rust: module: introduce `authors` key")
>> Signed-off-by: ThiƩbaud Weksteen <[email protected]>
>
> Off topic, but I have a question for modules maintainers...
>
> Does the `authors` field still serve this purpose today?
>
> Almost always it is just the initial submitter, while the code has been
> subject
> to many changes (many of them tree wide too), and the maintainers could have
> changed as well.
>
> We have copyright comments on top of files, and git for checking the file
> history. What's the point of keeping his inside module metadata?
MODULE_AUTHOR() was apparently added in 2.1.18 back in 1996 [1], with
a comment that it is for documentation purposes.
I don't have a full picture of how this modinfo field is currently used
by module authors, maintainers and users. I think it can be useful as
a record of all past and present primary authors of a specific module,
and it has also value for external modules. Unlike copyright statements
and Git history, the information is directly visible to users through
the modinfo utility.
It is up to individual module maintainers whether they want to use this
field and maintain its information. The module loader doesn't enforce
its setting in any way.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux-fullhistory.git/commit/?id=e69db0c2dafd9206cdc859b0361c6d4f07d77676
--
Cheers,
Petr