Re: [PATCH v4 10/11] mm/damon: Add kunit tests

From: kbuild test robot
Date: Thu Feb 13 2020 - 11:57:20 EST


Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on d5226fa6dbae0569ee43ecfc08bdcd6770fc4755]

url: https://github.com/0day-ci/linux/commits/sjpark-amazon-com/Introduce-Data-Access-MONitor-DAMON/20200213-003254
base: d5226fa6dbae0569ee43ecfc08bdcd6770fc4755
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-4) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from mm/damon.c:19:0:
>> include/linux/module.h:131:42: error: redefinition of '__inittest'
static inline initcall_t __maybe_unused __inittest(void) \
^
include/linux/module.h:124:28: note: in expansion of macro 'module_init'
#define late_initcall(fn) module_init(fn)
^~~~~~~~~~~
include/kunit/test.h:224:2: note: in expansion of macro 'late_initcall'
late_initcall(kunit_suite_init##suite)
^~~~~~~~~~~~~
mm/damon-test.h:600:1: note: in expansion of macro 'kunit_test_suite'
kunit_test_suite(damon_test_suite);
^~~~~~~~~~~~~~~~
include/linux/module.h:131:42: note: previous definition of '__inittest' was here
static inline initcall_t __maybe_unused __inittest(void) \
^
mm/damon.c:1406:1: note: in expansion of macro 'module_init'
module_init(damon_init);
^~~~~~~~~~~
>> include/linux/module.h:133:6: error: redefinition of 'init_module'
int init_module(void) __copy(initfn) __attribute__((alias(#initfn)));
^
include/linux/module.h:124:28: note: in expansion of macro 'module_init'
#define late_initcall(fn) module_init(fn)
^~~~~~~~~~~
include/kunit/test.h:224:2: note: in expansion of macro 'late_initcall'
late_initcall(kunit_suite_init##suite)
^~~~~~~~~~~~~
mm/damon-test.h:600:1: note: in expansion of macro 'kunit_test_suite'
kunit_test_suite(damon_test_suite);
^~~~~~~~~~~~~~~~
include/linux/module.h:133:6: note: previous definition of 'init_module' was here
int init_module(void) __copy(initfn) __attribute__((alias(#initfn)));
^
mm/damon.c:1406:1: note: in expansion of macro 'module_init'
module_init(damon_init);
^~~~~~~~~~~

vim +/__inittest +131 include/linux/module.h

0fd972a7d91d6e1 Paul Gortmaker 2015-05-01 128
0fd972a7d91d6e1 Paul Gortmaker 2015-05-01 129 /* Each module must use one module_init(). */
0fd972a7d91d6e1 Paul Gortmaker 2015-05-01 130 #define module_init(initfn) \
1f318a8bafcfba9 Arnd Bergmann 2017-02-01 @131 static inline initcall_t __maybe_unused __inittest(void) \
0fd972a7d91d6e1 Paul Gortmaker 2015-05-01 132 { return initfn; } \
a6e60d84989fa0e Miguel Ojeda 2019-01-19 @133 int init_module(void) __copy(initfn) __attribute__((alias(#initfn)));
0fd972a7d91d6e1 Paul Gortmaker 2015-05-01 134

:::::: The code at line 131 was first introduced by commit
:::::: 1f318a8bafcfba9f0d623f4870c4e890fd22e659 modules: mark __inittest/__exittest as __maybe_unused

:::::: TO: Arnd Bergmann <arnd@xxxxxxxx>
:::::: CC: Jessica Yu <jeyu@xxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip