]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
module: remove meaningless 'name' parameter from __MODULE_INFO()
authorMasahiro Yamada <masahiroy@kernel.org>
Fri, 6 Jun 2025 04:10:23 +0000 (13:10 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 24 Jun 2025 11:33:31 +0000 (20:33 +0900)
The symbol names in the .modinfo section are never used and already
randomized by the __UNIQUE_ID() macro.

Therefore, the second parameter of  __MODULE_INFO() is meaningless
and can be removed to simplify the code.

With this change, the symbol names in the .modinfo section will be
prefixed with __UNIQUE_ID_modinfo, making it clearer that they
originate from MODULE_INFO().

[Before]

  $ objcopy  -j .modinfo vmlinux.o modinfo.o
  $ nm -n modinfo.o | head -n10
  0000000000000000 r __UNIQUE_ID_license560
  0000000000000011 r __UNIQUE_ID_file559
  0000000000000030 r __UNIQUE_ID_description558
  0000000000000074 r __UNIQUE_ID_license580
  000000000000008e r __UNIQUE_ID_file579
  00000000000000bd r __UNIQUE_ID_description578
  00000000000000e6 r __UNIQUE_ID_license581
  00000000000000ff r __UNIQUE_ID_file580
  0000000000000134 r __UNIQUE_ID_description579
  0000000000000179 r __UNIQUE_ID_uncore_no_discover578

[After]

  $ objcopy  -j .modinfo vmlinux.o modinfo.o
  $ nm -n modinfo.o | head -n10
  0000000000000000 r __UNIQUE_ID_modinfo560
  0000000000000011 r __UNIQUE_ID_modinfo559
  0000000000000030 r __UNIQUE_ID_modinfo558
  0000000000000074 r __UNIQUE_ID_modinfo580
  000000000000008e r __UNIQUE_ID_modinfo579
  00000000000000bd r __UNIQUE_ID_modinfo578
  00000000000000e6 r __UNIQUE_ID_modinfo581
  00000000000000ff r __UNIQUE_ID_modinfo580
  0000000000000134 r __UNIQUE_ID_modinfo579
  0000000000000179 r __UNIQUE_ID_modinfo578

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>
include/crypto/algapi.h
include/linux/module.h
include/linux/moduleparam.h
include/net/tcp.h

index 188eface0a116434438efb2368fe6a886aebd53d..fc457494063610a45f9b927f6fe23b314200e040 100644 (file)
@@ -43,8 +43,8 @@
  * alias.
  */
 #define MODULE_ALIAS_CRYPTO(name)      \
-               __MODULE_INFO(alias, alias_userspace, name);    \
-               __MODULE_INFO(alias, alias_crypto, "crypto-" name)
+               MODULE_INFO(alias, name);       \
+               MODULE_INFO(alias, "crypto-" name)
 
 struct crypto_aead;
 struct crypto_instance;
index 92e1420fccdffc9de9f49da9061546cc1e0c89d1..81b41cc6a19ebee65ec33ce66368ef71456541ec 100644 (file)
@@ -164,9 +164,6 @@ extern void cleanup_module(void);
 
 struct module_kobject *lookup_or_create_module_kobject(const char *name);
 
-/* Generic info of form tag = "info" */
-#define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
-
 /* For userspace: you can also call me... */
 #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
 
index bfb85fd13e1fae572276339f17ca423320ef92bd..00166f747e2784a2e6e631eebb673f7f9651d49e 100644 (file)
 /* Chosen so that structs with an unsigned long line up. */
 #define MAX_PARAM_PREFIX_LEN (64 - sizeof(unsigned long))
 
-#define __MODULE_INFO(tag, name, info)                                   \
-       static const char __UNIQUE_ID(name)[]                             \
+/* Generic info of form tag = "info" */
+#define MODULE_INFO(tag, info)                                   \
+       static const char __UNIQUE_ID(modinfo)[]                          \
                __used __section(".modinfo") __aligned(1)                 \
                = __MODULE_INFO_PREFIX __stringify(tag) "=" info
 
 #define __MODULE_PARM_TYPE(name, _type)                                          \
-       __MODULE_INFO(parmtype, name##type, #name ":" _type)
+       MODULE_INFO(parmtype, #name ":" _type)
 
 /* One for each parameter, describing how to use it.  Some files do
    multiple of these per line, so can't just use MODULE_INFO. */
 #define MODULE_PARM_DESC(_parm, desc) \
-       __MODULE_INFO(parm, _parm, #_parm ":" desc)
+       MODULE_INFO(parm, #_parm ":" desc)
 
 struct kernel_param;
 
index 5078ad868feef8fd8f210f8c3c54cdf575742ff2..9b39ef630c9224c23bb6dcccfdc1b8cff5852f11 100644 (file)
@@ -2662,8 +2662,8 @@ void tcp_update_ulp(struct sock *sk, struct proto *p,
                    void (*write_space)(struct sock *sk));
 
 #define MODULE_ALIAS_TCP_ULP(name)                             \
-       __MODULE_INFO(alias, alias_userspace, name);            \
-       __MODULE_INFO(alias, alias_tcp_ulp, "tcp-ulp-" name)
+       MODULE_INFO(alias, name);               \
+       MODULE_INFO(alias, "tcp-ulp-" name)
 
 #ifdef CONFIG_NET_SOCK_MSG
 struct sk_msg;