All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Joey Jiao <quic_jiangenj@quicinc.com>, linux-modules@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, quic_jiangenj@quicinc.com,
	Luis Chamberlain <mcgrof@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] module: Add CONFIG_MODULE_LOAD_IN_SEQUENCE option
Date: Wed, 11 Oct 2023 19:01:09 +0800	[thread overview]
Message-ID: <202310111840.ufGoxyfM-lkp@intel.com> (raw)
In-Reply-To: <20231011074438.6098-1-quic_jiangenj@quicinc.com>

Hi Joey,

kernel test robot noticed the following build warnings:

[auto build test WARNING on mcgrof/modules-next]
[also build test WARNING on linus/master v6.6-rc5 next-20231011]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Joey-Jiao/module-Add-CONFIG_MODULE_LOAD_IN_SEQUENCE-option/20231011-154640
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
patch link:    https://lore.kernel.org/r/20231011074438.6098-1-quic_jiangenj%40quicinc.com
patch subject: [PATCH v2] module: Add CONFIG_MODULE_LOAD_IN_SEQUENCE option
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231011/202310111840.ufGoxyfM-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231011/202310111840.ufGoxyfM-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310111840.ufGoxyfM-lkp@intel.com/

All warnings (new ones prefixed by >>):

   kernel/module/main.c: In function 'do_init_module':
   kernel/module/main.c:2627:12: error: invalid storage class for function 'may_init_module'
    2627 | static int may_init_module(void)
         |            ^~~~~~~~~~~~~~~
   kernel/module/main.c:2636:13: error: invalid storage class for function 'finished_loading'
    2636 | static bool finished_loading(const char *name)
         |             ^~~~~~~~~~~~~~~~
   kernel/module/main.c:2657:12: error: invalid storage class for function 'module_patient_check_exists'
    2657 | static int module_patient_check_exists(const char *name,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/module/main.c:2701:12: error: invalid storage class for function 'add_unformed_module'
    2701 | static int add_unformed_module(struct module *mod)
         |            ^~~~~~~~~~~~~~~~~~~
   kernel/module/main.c:2722:12: error: invalid storage class for function 'complete_formation'
    2722 | static int complete_formation(struct module *mod, struct load_info *info)
         |            ^~~~~~~~~~~~~~~~~~
   kernel/module/main.c:2755:12: error: invalid storage class for function 'prepare_coming_module'
    2755 | static int prepare_coming_module(struct module *mod)
         |            ^~~~~~~~~~~~~~~~~~~~~
   kernel/module/main.c:2773:12: error: invalid storage class for function 'unknown_module_param_cb'
    2773 | static int unknown_module_param_cb(char *param, char *val, const char *modname,
         |            ^~~~~~~~~~~~~~~~~~~~~~~
   kernel/module/main.c:2793:12: error: invalid storage class for function 'early_mod_check'
    2793 | static int early_mod_check(struct load_info *info, int flags)
         |            ^~~~~~~~~~~~~~~
   kernel/module/main.c:2829:12: error: invalid storage class for function 'load_module'
    2829 | static int load_module(struct load_info *info, const char __user *uargs,
         |            ^~~~~~~~~~~
   In file included from include/linux/compiler_types.h:125,
                    from <command-line>:
>> include/linux/compiler-gcc.h:132:33: warning: 'alias' attribute ignored [-Wattributes]
     132 | #define __diag(s)               _Pragma(__diag_str(GCC diagnostic s))
         |                                 ^~~~~~~
   include/linux/compiler-gcc.h:135:33: note: in expansion of macro '__diag'
     135 | #define __diag_GCC_8(s)         __diag(s)
         |                                 ^~~~~~
   include/linux/compiler-gcc.h:123:9: note: in expansion of macro '__diag_GCC_8'
     123 |         __diag_GCC_ ## version(__diag_GCC_ ## severity s)
         |         ^~~~~~~~~~~
   include/linux/compiler_types.h:416:9: note: in expansion of macro '__diag_GCC'
     416 |         __diag_ ## compiler(version, ignore, option)
         |         ^~~~~~~
   include/linux/syscalls.h:242:9: note: in expansion of macro '__diag_ignore'
     242 |         __diag_ignore(GCC, 8, "-Wattribute-alias",                      \
         |         ^~~~~~~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   In file included from kernel/module/main.c:26:
   include/linux/syscalls.h:247:28: error: invalid storage class for function '__do_sys_init_module'
     247 |         static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
         |                            ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:249:25: error: static declaration of '__se_sys_init_module' follows non-static declaration
     249 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:248:25: note: previous declaration of '__se_sys_init_module' with type 'long int(long int,  long int,  long int)'
     248 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
         |                         ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   kernel/module/main.c: In function '__se_sys_init_module':
   include/linux/syscalls.h:251:28: error: implicit declaration of function '__do_sys_init_module'; did you mean '__se_sys_init_module'? [-Werror=implicit-function-declaration]
     251 |                 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
         |                            ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   kernel/module/main.c: In function 'do_init_module':
   include/linux/syscalls.h:257:28: error: invalid storage class for function '__do_sys_init_module'
     257 |         static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
         |                            ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   kernel/module/main.c:3073:13: error: invalid storage class for function 'idempotent'
    3073 | static bool idempotent(struct idempotent *u, const void *cookie)
         |             ^~~~~~~~~~
   kernel/module/main.c:3104:12: error: invalid storage class for function 'idempotent_complete'
    3104 | static int idempotent_complete(struct idempotent *u, int ret)
         |            ^~~~~~~~~~~~~~~~~~~
   kernel/module/main.c:3124:12: error: invalid storage class for function 'init_module_from_file'
    3124 | static int init_module_from_file(struct file *f, const char __user * uargs, int flags)
         |            ^~~~~~~~~~~~~~~~~~~~~
   kernel/module/main.c:3152:12: error: invalid storage class for function 'idempotent_init_module'
    3152 | static int idempotent_init_module(struct file *f, const char __user * uargs, int flags)
         |            ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/compiler-gcc.h:132:33: warning: 'alias' attribute ignored [-Wattributes]
     132 | #define __diag(s)               _Pragma(__diag_str(GCC diagnostic s))
         |                                 ^~~~~~~
   include/linux/compiler-gcc.h:135:33: note: in expansion of macro '__diag'
     135 | #define __diag_GCC_8(s)         __diag(s)
         |                                 ^~~~~~
   include/linux/compiler-gcc.h:123:9: note: in expansion of macro '__diag_GCC_8'
     123 |         __diag_GCC_ ## version(__diag_GCC_ ## severity s)
         |         ^~~~~~~~~~~
   include/linux/compiler_types.h:416:9: note: in expansion of macro '__diag_GCC'
     416 |         __diag_ ## compiler(version, ignore, option)
         |         ^~~~~~~
   include/linux/syscalls.h:242:9: note: in expansion of macro '__diag_ignore'
     242 |         __diag_ignore(GCC, 8, "-Wattribute-alias",                      \
         |         ^~~~~~~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:247:28: error: invalid storage class for function '__do_sys_finit_module'
     247 |         static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
         |                            ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:249:25: error: static declaration of '__se_sys_finit_module' follows non-static declaration
     249 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:248:25: note: previous declaration of '__se_sys_finit_module' with type 'long int(long int,  long int,  long int)'
     248 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
         |                         ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
   kernel/module/main.c: In function '__se_sys_finit_module':
   include/linux/syscalls.h:251:28: error: implicit declaration of function '__do_sys_finit_module'; did you mean '__do_sys_init_module'? [-Werror=implicit-function-declaration]
     251 |                 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
         |                            ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
   kernel/module/main.c: In function 'do_init_module':
   include/linux/syscalls.h:257:28: error: invalid storage class for function '__do_sys_finit_module'
     257 |         static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
         |                            ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
   kernel/module/main.c:3361:12: error: invalid storage class for function 'module_debugfs_init'
    3361 | static int module_debugfs_init(void)
         |            ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/printk.h:6,
                    from include/asm-generic/bug.h:22,
                    from arch/m68k/include/asm/bug.h:32,
                    from include/linux/bug.h:5,
                    from include/linux/thread_info.h:13,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/m68k/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:79,
                    from arch/m68k/include/asm/irqflags.h:6,
                    from include/linux/irqflags.h:17,
                    from arch/m68k/include/asm/atomic.h:6,
                    from include/linux/atomic.h:7,
                    from include/linux/mm_types_task.h:13,
                    from include/linux/mm_types.h:5,
                    from include/linux/buildid.h:5,
                    from include/linux/module.h:14,
                    from include/linux/moduleloader.h:6,
                    from kernel/module/main.c:12:
   kernel/module/main.c:3366:13: error: initializer element is not constant
    3366 | module_init(module_debugfs_init);
         |             ^~~~~~~~~~~~~~~~~~~
   include/linux/init.h:270:55: note: in definition of macro '____define_initcall'
     270 |                 __attribute__((__section__(__sec))) = fn;
         |                                                       ^~
   include/linux/init.h:280:9: note: in expansion of macro '__unique_initcall'
     280 |         __unique_initcall(fn, id, __sec, __initcall_id(fn))
         |         ^~~~~~~~~~~~~~~~~
   include/linux/init.h:282:35: note: in expansion of macro '___define_initcall'
     282 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id)
         |                                   ^~~~~~~~~~~~~~~~~~
   include/linux/init.h:311:41: note: in expansion of macro '__define_initcall'
     311 | #define device_initcall(fn)             __define_initcall(fn, 6)
         |                                         ^~~~~~~~~~~~~~~~~
   include/linux/init.h:316:24: note: in expansion of macro 'device_initcall'
     316 | #define __initcall(fn) device_initcall(fn)
         |                        ^~~~~~~~~~~~~~~
   include/linux/module.h:88:25: note: in expansion of macro '__initcall'
      88 | #define module_init(x)  __initcall(x);
         |                         ^~~~~~~~~~
   kernel/module/main.c:3366:1: note: in expansion of macro 'module_init'
    3366 | module_init(module_debugfs_init);
         | ^~~~~~~~~~~
   kernel/module/main.c:3366:1: error: expected declaration or statement at end of input
>> kernel/module/main.c:3359:16: warning: variable 'mod_debugfs_root' set but not used [-Wunused-but-set-variable]
    3359 | struct dentry *mod_debugfs_root;
         |                ^~~~~~~~~~~~~~~~
   kernel/module/main.c: At top level:
>> kernel/module/main.c:3336:6: warning: 'print_modules' defined but not used [-Wunused-function]
    3336 | void print_modules(void)
         |      ^~~~~~~~~~~~~
>> kernel/module/main.c:3323:16: warning: '__module_text_address' defined but not used [-Wunused-function]
    3323 | struct module *__module_text_address(unsigned long addr)
         |                ^~~~~~~~~~~~~~~~~~~~~
>> kernel/module/main.c:3305:6: warning: 'is_module_text_address' defined but not used [-Wunused-function]
    3305 | bool is_module_text_address(unsigned long addr)
         |      ^~~~~~~~~~~~~~~~~~~~~~
>> kernel/module/main.c:3253:6: warning: 'is_module_address' defined but not used [-Wunused-function]
    3253 | bool is_module_address(unsigned long addr)
         |      ^~~~~~~~~~~~~~~~~
>> kernel/module/main.c:3220:37: warning: 'search_module_extables' defined but not used [-Wunused-function]
    3220 | const struct exception_table_entry *search_module_extables(unsigned long addr)
         |                                     ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/syscalls.h:249:25: warning: '__se_sys_finit_module' defined but not used [-Wunused-function]
     249 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3170:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3170 | SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
         | ^~~~~~~~~~~~~~~
>> include/linux/syscalls.h:249:25: warning: '__se_sys_init_module' defined but not used [-Wunused-function]
     249 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^~~~~~~~
   include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     230 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   kernel/module/main.c:3039:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    3039 | SYSCALL_DEFINE3(init_module, void __user *, umod,
         | ^~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/mod_debugfs_root +3359 kernel/module/main.c

fa3ba2e81ea23416 kernel/module.c      Florin Malita    2006-10-11  3218  
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3219  /* Given an address, look for it in the module exception tables. */
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16 @3220  const struct exception_table_entry *search_module_extables(unsigned long addr)
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3221  {
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3222  	const struct exception_table_entry *e = NULL;
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3223  	struct module *mod;
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3224  
24da1cbff9cfce50 kernel/module.c      Rusty Russell    2007-07-15  3225  	preempt_disable();
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3226  	mod = __module_address(addr);
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3227  	if (!mod)
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3228  		goto out;
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3229  
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3230  	if (!mod->num_exentries)
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3231  		goto out;
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3232  
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3233  	e = search_extable(mod->extable,
a94c33dd1f677d16 kernel/module.c      Thomas Meyer     2017-07-10  3234  			   mod->num_exentries,
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3235  			   addr);
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3236  out:
24da1cbff9cfce50 kernel/module.c      Rusty Russell    2007-07-15  3237  	preempt_enable();
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3238  
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3239  	/*
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3240  	 * Now, if we found one, we are running inside it now, hence
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3241  	 * we cannot unload the module, hence no refcnt needed.
5ff22646d246e23b kernel/module.c      Peter Zijlstra   2017-02-08  3242  	 */
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3243  	return e;
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3244  }
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3245  
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3246  /**
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3247   * is_module_address() - is this address inside a module?
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3248   * @addr: the address to check.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3249   *
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3250   * See is_module_text_address() if you simply want to see if the address
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3251   * is code (not data).
4d435f9d8ff01ae7 kernel/module.c      Ingo Molnar      2006-07-03  3252   */
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31 @3253  bool is_module_address(unsigned long addr)
4d435f9d8ff01ae7 kernel/module.c      Ingo Molnar      2006-07-03  3254  {
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3255  	bool ret;
4d435f9d8ff01ae7 kernel/module.c      Ingo Molnar      2006-07-03  3256  
24da1cbff9cfce50 kernel/module.c      Rusty Russell    2007-07-15  3257  	preempt_disable();
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3258  	ret = __module_address(addr) != NULL;
24da1cbff9cfce50 kernel/module.c      Rusty Russell    2007-07-15  3259  	preempt_enable();
4d435f9d8ff01ae7 kernel/module.c      Ingo Molnar      2006-07-03  3260  
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3261  	return ret;
4d435f9d8ff01ae7 kernel/module.c      Ingo Molnar      2006-07-03  3262  }
4d435f9d8ff01ae7 kernel/module.c      Ingo Molnar      2006-07-03  3263  
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3264  /**
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3265   * __module_address() - get the module which contains an address.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3266   * @addr: the address.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3267   *
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3268   * Must be called with preempt disabled or module mutex held so that
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3269   * module doesn't get freed during this.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3270   */
714f83d5d9f7c785 kernel/module.c      Linus Torvalds   2009-04-05  3271  struct module *__module_address(unsigned long addr)
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3272  {
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3273  	struct module *mod;
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3274  
01dc0386efb76905 kernel/module/main.c Christophe Leroy 2022-02-23  3275  	if (addr >= mod_tree.addr_min && addr <= mod_tree.addr_max)
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3276  		goto lookup;
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3277  
01dc0386efb76905 kernel/module/main.c Christophe Leroy 2022-02-23  3278  #ifdef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3279  	if (addr >= mod_tree.data_addr_min && addr <= mod_tree.data_addr_max)
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3280  		goto lookup;
01dc0386efb76905 kernel/module/main.c Christophe Leroy 2022-02-23  3281  #endif
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3282  
3a642e99babe0617 kernel/module.c      Rusty Russell    2008-07-22  3283  	return NULL;
3a642e99babe0617 kernel/module.c      Rusty Russell    2008-07-22  3284  
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3285  lookup:
0be964be0d450842 kernel/module.c      Peter Zijlstra   2015-05-27  3286  	module_assert_mutex_or_preempt();
0be964be0d450842 kernel/module.c      Peter Zijlstra   2015-05-27  3287  
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3288  	mod = mod_find(addr, &mod_tree);
93c2e105f6bcee23 kernel/module.c      Peter Zijlstra   2015-05-27  3289  	if (mod) {
93c2e105f6bcee23 kernel/module.c      Peter Zijlstra   2015-05-27  3290  		BUG_ON(!within_module(addr, mod));
0d21b0e3477395e7 kernel/module.c      Rusty Russell    2013-01-12  3291  		if (mod->state == MODULE_STATE_UNFORMED)
93c2e105f6bcee23 kernel/module.c      Peter Zijlstra   2015-05-27  3292  			mod = NULL;
0d21b0e3477395e7 kernel/module.c      Rusty Russell    2013-01-12  3293  	}
93c2e105f6bcee23 kernel/module.c      Peter Zijlstra   2015-05-27  3294  	return mod;
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3295  }
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3296  
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3297  /**
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3298   * is_module_text_address() - is this address inside module code?
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3299   * @addr: the address to check.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3300   *
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3301   * See is_module_address() if you simply want to see if the address is
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3302   * anywhere in a module.  See kernel_text_address() for testing if an
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3303   * address corresponds to kernel or module code.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3304   */
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31 @3305  bool is_module_text_address(unsigned long addr)
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3306  {
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3307  	bool ret;
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3308  
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3309  	preempt_disable();
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3310  	ret = __module_text_address(addr) != NULL;
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3311  	preempt_enable();
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3312  
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3313  	return ret;
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3314  }
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3315  
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3316  /**
2541743e99c301f9 kernel/module.c      Sergey Shtylyov  2020-11-04  3317   * __module_text_address() - get the module whose code contains an address.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3318   * @addr: the address.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3319   *
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3320   * Must be called with preempt disabled or module mutex held so that
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3321   * module doesn't get freed during this.
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3322   */
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31 @3323  struct module *__module_text_address(unsigned long addr)
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3324  {
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3325  	struct module *mod = __module_address(addr);
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3326  	if (mod) {
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3327  		/* Make sure it's within the text section. */
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3328  		if (!within_module_mem_type(addr, mod, MOD_TEXT) &&
ac3b432839234409 kernel/module/main.c Song Liu         2023-02-06  3329  		    !within_module_mem_type(addr, mod, MOD_INIT_TEXT))
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3330  			mod = NULL;
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3331  	}
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3332  	return mod;
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3333  }
e610499e2656e619 kernel/module.c      Rusty Russell    2009-03-31  3334  
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3335  /* Don't grab lock, we're oopsing. */
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16 @3336  void print_modules(void)
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3337  {
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3338  	struct module *mod;
7fd8329ba502ef76 kernel/module.c      Petr Mladek      2016-09-21  3339  	char buf[MODULE_FLAGS_BUF_SIZE];
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3340  
b231125af7811a2f kernel/module.c      Linus Torvalds   2009-06-16  3341  	printk(KERN_DEFAULT "Modules linked in:");
d72b37513cdfbd3f kernel/module.c      Andi Kleen       2008-08-30  3342  	/* Most callers should already have preempt disabled, but make sure */
d72b37513cdfbd3f kernel/module.c      Andi Kleen       2008-08-30  3343  	preempt_disable();
0d21b0e3477395e7 kernel/module.c      Rusty Russell    2013-01-12  3344  	list_for_each_entry_rcu(mod, &modules, list) {
0d21b0e3477395e7 kernel/module.c      Rusty Russell    2013-01-12  3345  		if (mod->state == MODULE_STATE_UNFORMED)
0d21b0e3477395e7 kernel/module.c      Rusty Russell    2013-01-12  3346  			continue;
17dd25c29cda98c3 kernel/module/main.c Aaron Tomlin     2022-07-14  3347  		pr_cont(" %s%s", mod->name, module_flags(mod, buf, true));
0d21b0e3477395e7 kernel/module.c      Rusty Russell    2013-01-12  3348  	}
99bd9956551b27cb kernel/module/main.c Aaron Tomlin     2022-05-02  3349  
99bd9956551b27cb kernel/module/main.c Aaron Tomlin     2022-05-02  3350  	print_unloaded_tainted_modules();
d72b37513cdfbd3f kernel/module.c      Andi Kleen       2008-08-30  3351  	preempt_enable();
6f1dae1d84b6d085 kernel/module/main.c Aaron Tomlin     2022-07-14  3352  	if (last_unloaded_module.name[0])
6f1dae1d84b6d085 kernel/module/main.c Aaron Tomlin     2022-07-14  3353  		pr_cont(" [last unloaded: %s%s]", last_unloaded_module.name,
6f1dae1d84b6d085 kernel/module/main.c Aaron Tomlin     2022-07-14  3354  			last_unloaded_module.taints);
27bba4d6bb3779a6 kernel/module.c      Jiri Slaby       2014-02-03  3355  	pr_cont("\n");
^1da177e4c3f4152 kernel/module.c      Linus Torvalds   2005-04-16  3356  }
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3357  
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3358  #ifdef CONFIG_MODULE_DEBUGFS
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28 @3359  struct dentry *mod_debugfs_root;
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3360  
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3361  static int module_debugfs_init(void)
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3362  {
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3363  	mod_debugfs_root = debugfs_create_dir("modules", NULL);
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3364  	return 0;
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28  3365  }
df3e764d8e5cd416 kernel/module/main.c Luis Chamberlain 2023-03-28 @3366  module_init(module_debugfs_init);

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2023-10-11 11:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11  7:44 [PATCH v2] module: Add CONFIG_MODULE_LOAD_IN_SEQUENCE option Joey Jiao
2023-10-11 11:01 ` kernel test robot [this message]
2023-10-11 19:20 ` Luis Chamberlain
2023-10-12 18:24 ` kernel test robot
2023-10-12 18:35 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202310111840.ufGoxyfM-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=quic_jiangenj@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.