All of lore.kernel.org
 help / color / mirror / Atom feed
* [bcache:nvdimm-meta 2/16] drivers/md/bcache/nvm-pages.c:258:42: error: expected declaration specifiers before '; ' token
@ 2021-03-29 19:57 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-29 19:57 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 30491 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git nvdimm-meta
head:   be0f72faa6d269aa7d824296859cd055f0ba61a0
commit: 9c528f4cca590ee66dee96866f6a7a67f873ccd1 [2/16] bcache: initialize the nvm pages allocator
config: mips-randconfig-r016-20210329 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git/commit/?id=9c528f4cca590ee66dee96866f6a7a67f873ccd1
        git remote add bcache https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git
        git fetch --no-tags bcache nvdimm-meta
        git checkout 9c528f4cca590ee66dee96866f6a7a67f873ccd1
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

         |                           ^~~~~~~~~~~~~~~~~~~~
   include/linux/seq_file.h:260:27: error: storage class specified for parameter 'seq_hlist_next'
     260 | extern struct hlist_node *seq_hlist_next(void *v, struct hlist_head *head,
         |                           ^~~~~~~~~~~~~~
   include/linux/seq_file.h:263:27: error: storage class specified for parameter 'seq_hlist_start_rcu'
     263 | extern struct hlist_node *seq_hlist_start_rcu(struct hlist_head *head,
         |                           ^~~~~~~~~~~~~~~~~~~
   include/linux/seq_file.h:265:27: error: storage class specified for parameter 'seq_hlist_start_head_rcu'
     265 | extern struct hlist_node *seq_hlist_start_head_rcu(struct hlist_head *head,
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/seq_file.h:267:27: error: storage class specified for parameter 'seq_hlist_next_rcu'
     267 | extern struct hlist_node *seq_hlist_next_rcu(void *v,
         |                           ^~~~~~~~~~~~~~~~~~
   include/linux/seq_file.h:272:27: error: storage class specified for parameter 'seq_hlist_start_percpu'
     272 | extern struct hlist_node *seq_hlist_start_percpu(struct hlist_head __percpu *head, int *cpu, loff_t pos);
         |                           ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/seq_file.h:274:27: error: storage class specified for parameter 'seq_hlist_next_percpu'
     274 | extern struct hlist_node *seq_hlist_next_percpu(void *v, struct hlist_head __percpu *head, int *cpu, loff_t *pos);
         |                           ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/md/bcache/super.c:20:
   include/linux/debugfs.h:21:1: warning: empty declaration
      21 | struct device;
         | ^~~~~~
   include/linux/debugfs.h:22:1: warning: empty declaration
      22 | struct file_operations;
         | ^~~~~~
   include/linux/debugfs.h:24:1: warning: empty declaration
      24 | struct debugfs_blob_wrapper {
         | ^~~~~~
   include/linux/debugfs.h:29:1: warning: empty declaration
      29 | struct debugfs_reg32 {
         | ^~~~~~
   include/linux/debugfs.h:34:1: warning: empty declaration
      34 | struct debugfs_regset32 {
         | ^~~~~~
   include/linux/debugfs.h:41:1: warning: empty declaration
      41 | struct debugfs_u32_array {
         | ^~~~~~
   include/linux/debugfs.h:46:23: error: storage class specified for parameter 'arch_debugfs_dir'
      46 | extern struct dentry *arch_debugfs_dir;
         |                       ^~~~~~~~~~~~~~~~
   include/linux/debugfs.h:63:28: error: storage class specified for parameter 'debugfs_automount_t'
      63 | typedef struct vfsmount *(*debugfs_automount_t)(struct dentry *, void *);
         |                            ^~~~~~~~~~~~~~~~~~~
   include/linux/debugfs.h:88:6: error: expected declaration specifiers or '...' before 'debugfs_automount_t'
      88 |      debugfs_automount_t f,
         |      ^~~~~~~~~~~~~~~~~~~
   include/linux/debugfs.h:367:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
     367 | {
         | ^
   In file included from include/linux/kmod.h:9,
                    from include/linux/module.h:16,
                    from drivers/md/bcache/super.c:25:
   include/linux/umh.h:11:1: warning: empty declaration
      11 | struct cred;
         | ^~~~~~
   include/linux/umh.h:12:1: warning: empty declaration
      12 | struct file;
         | ^~~~~~
   include/linux/umh.h:19:1: warning: empty declaration
      19 | struct subprocess_info {
         | ^~~~~~
   include/linux/umh.h:33:1: error: storage class specified for parameter 'call_usermodehelper'
      33 | call_usermodehelper(const char *path, char **argv, char **envp, int wait);
         | ^~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:36:1: error: storage class specified for parameter 'call_usermodehelper_setup'
      36 | call_usermodehelper_setup(const char *path, char **argv, char **envp,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:42:1: error: storage class specified for parameter 'call_usermodehelper_exec'
      42 | call_usermodehelper_exec(struct subprocess_info *info, int wait);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:44:25: error: storage class specified for parameter 'usermodehelper_table'
      44 | extern struct ctl_table usermodehelper_table[];
         |                         ^~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:46:1: warning: empty declaration
      46 | enum umh_disable_depth {
         | ^~~~
   include/linux/umh.h:52:12: error: storage class specified for parameter '__usermodehelper_disable'
      52 | extern int __usermodehelper_disable(enum umh_disable_depth depth);
         |            ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:53:13: error: storage class specified for parameter '__usermodehelper_set_disable_depth'
      53 | extern void __usermodehelper_set_disable_depth(enum umh_disable_depth depth);
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:56:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      56 | {
         | ^
   include/linux/umh.h:61:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      61 | {
         | ^
   include/linux/umh.h:65:12: error: storage class specified for parameter 'usermodehelper_read_trylock'
      65 | extern int usermodehelper_read_trylock(void);
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:66:13: error: storage class specified for parameter 'usermodehelper_read_lock_wait'
      66 | extern long usermodehelper_read_lock_wait(long timeout);
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/umh.h:67:13: error: storage class specified for parameter 'usermodehelper_read_unlock'
      67 | extern void usermodehelper_read_unlock(void);
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/module.h:16,
                    from drivers/md/bcache/super.c:25:
>> include/linux/kmod.h:30:57: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      30 | static inline int request_module(const char *name, ...) { return -ENOSYS; }
         |                                                         ^
   include/linux/kmod.h:31:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      31 | static inline int request_module_nowait(const char *name, ...) { return -ENOSYS; }
         |                                                                ^
   In file included from arch/mips/include/asm/elf.h:15,
                    from include/linux/elf.h:6,
                    from include/linux/module.h:18,
                    from drivers/md/bcache/super.c:25:
   include/uapi/linux/elf.h:9:15: error: storage class specified for parameter 'Elf32_Addr'
       9 | typedef __u32 Elf32_Addr;
         |               ^~~~~~~~~~
   include/uapi/linux/elf.h:10:15: error: storage class specified for parameter 'Elf32_Half'
      10 | typedef __u16 Elf32_Half;
         |               ^~~~~~~~~~
   include/uapi/linux/elf.h:11:15: error: storage class specified for parameter 'Elf32_Off'
      11 | typedef __u32 Elf32_Off;
         |               ^~~~~~~~~
   include/uapi/linux/elf.h:12:15: error: storage class specified for parameter 'Elf32_Sword'
      12 | typedef __s32 Elf32_Sword;
         |               ^~~~~~~~~~~
   include/uapi/linux/elf.h:13:15: error: storage class specified for parameter 'Elf32_Word'
      13 | typedef __u32 Elf32_Word;
         |               ^~~~~~~~~~
   include/uapi/linux/elf.h:16:15: error: storage class specified for parameter 'Elf64_Addr'
      16 | typedef __u64 Elf64_Addr;
         |               ^~~~~~~~~~
   include/uapi/linux/elf.h:17:15: error: storage class specified for parameter 'Elf64_Half'
      17 | typedef __u16 Elf64_Half;
         |               ^~~~~~~~~~
   include/uapi/linux/elf.h:18:15: error: storage class specified for parameter 'Elf64_SHalf'
      18 | typedef __s16 Elf64_SHalf;
         |               ^~~~~~~~~~~
   include/uapi/linux/elf.h:19:15: error: storage class specified for parameter 'Elf64_Off'
      19 | typedef __u64 Elf64_Off;
         |               ^~~~~~~~~
   include/uapi/linux/elf.h:20:15: error: storage class specified for parameter 'Elf64_Sword'
      20 | typedef __s32 Elf64_Sword;
         |               ^~~~~~~~~~~
   include/uapi/linux/elf.h:21:15: error: storage class specified for parameter 'Elf64_Word'
      21 | typedef __u32 Elf64_Word;
         |               ^~~~~~~~~~
   include/uapi/linux/elf.h:22:15: error: storage class specified for parameter 'Elf64_Xword'
      22 | typedef __u64 Elf64_Xword;
         |               ^~~~~~~~~~~
   include/uapi/linux/elf.h:23:15: error: storage class specified for parameter 'Elf64_Sxword'
      23 | typedef __s64 Elf64_Sxword;
         |               ^~~~~~~~~~~~
   include/uapi/linux/elf.h:140:3: error: expected specifier-qualifier-list before 'Elf32_Sword'
     140 |   Elf32_Sword d_tag;
         |   ^~~~~~~~~~~
   include/uapi/linux/elf.h:145:3: error: storage class specified for parameter 'Elf32_Dyn'
     145 | } Elf32_Dyn;
         |   ^~~~~~~~~
   include/uapi/linux/elf.h:148:3: error: expected specifier-qualifier-list before 'Elf64_Sxword'
     148 |   Elf64_Sxword d_tag;  /* entry tag value */
         |   ^~~~~~~~~~~~
   include/uapi/linux/elf.h:153:3: error: storage class specified for parameter 'Elf64_Dyn'
     153 | } Elf64_Dyn;
         |   ^~~~~~~~~
   include/uapi/linux/elf.h:163:3: error: expected specifier-qualifier-list before 'Elf32_Addr'
     163 |   Elf32_Addr r_offset;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:165:3: error: storage class specified for parameter 'Elf32_Rel'
     165 | } Elf32_Rel;
         |   ^~~~~~~~~
   include/uapi/linux/elf.h:168:3: error: expected specifier-qualifier-list before 'Elf64_Addr'
     168 |   Elf64_Addr r_offset; /* Location at which to apply the action */
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:170:3: error: storage class specified for parameter 'Elf64_Rel'
     170 | } Elf64_Rel;
         |   ^~~~~~~~~
   include/uapi/linux/elf.h:173:3: error: expected specifier-qualifier-list before 'Elf32_Addr'
     173 |   Elf32_Addr r_offset;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:176:3: error: storage class specified for parameter 'Elf32_Rela'
     176 | } Elf32_Rela;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:179:3: error: expected specifier-qualifier-list before 'Elf64_Addr'
     179 |   Elf64_Addr r_offset; /* Location at which to apply the action */
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:182:3: error: storage class specified for parameter 'Elf64_Rela'
     182 | } Elf64_Rela;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:185:3: error: expected specifier-qualifier-list before 'Elf32_Word'
     185 |   Elf32_Word st_name;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:191:3: error: storage class specified for parameter 'Elf32_Sym'
     191 | } Elf32_Sym;
         |   ^~~~~~~~~
   include/uapi/linux/elf.h:194:3: error: expected specifier-qualifier-list before 'Elf64_Word'
     194 |   Elf64_Word st_name;  /* Symbol name, index in string tbl */
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:200:3: error: storage class specified for parameter 'Elf64_Sym'
     200 | } Elf64_Sym;
         |   ^~~~~~~~~
   include/uapi/linux/elf.h:207:3: error: expected specifier-qualifier-list before 'Elf32_Half'
     207 |   Elf32_Half e_type;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:220:3: error: storage class specified for parameter 'Elf32_Ehdr'
     220 | } Elf32_Ehdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:224:3: error: expected specifier-qualifier-list before 'Elf64_Half'
     224 |   Elf64_Half e_type;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:237:3: error: storage class specified for parameter 'Elf64_Ehdr'
     237 | } Elf64_Ehdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:246:3: error: expected specifier-qualifier-list before 'Elf32_Word'
     246 |   Elf32_Word p_type;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:254:3: error: storage class specified for parameter 'Elf32_Phdr'
     254 | } Elf32_Phdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:257:3: error: expected specifier-qualifier-list before 'Elf64_Word'
     257 |   Elf64_Word p_type;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:265:3: error: storage class specified for parameter 'Elf64_Phdr'
     265 | } Elf64_Phdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:305:3: error: expected specifier-qualifier-list before 'Elf32_Word'
     305 |   Elf32_Word sh_name;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:315:3: error: storage class specified for parameter 'Elf32_Shdr'
     315 | } Elf32_Shdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:318:3: error: expected specifier-qualifier-list before 'Elf64_Word'
     318 |   Elf64_Word sh_name;  /* Section name, index in string tbl */
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:328:3: error: storage class specified for parameter 'Elf64_Shdr'
     328 | } Elf64_Shdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:440:3: error: expected specifier-qualifier-list before 'Elf32_Word'
     440 |   Elf32_Word n_namesz; /* Name size */
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:443:3: error: storage class specified for parameter 'Elf32_Nhdr'
     443 | } Elf32_Nhdr;
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:447:3: error: expected specifier-qualifier-list before 'Elf64_Word'
     447 |   Elf64_Word n_namesz; /* Name size */
         |   ^~~~~~~~~~
   include/uapi/linux/elf.h:450:3: error: storage class specified for parameter 'Elf64_Nhdr'
     450 | } Elf64_Nhdr;
         |   ^~~~~~~~~~
   In file included from include/linux/elf.h:6,
                    from include/linux/module.h:18,
                    from drivers/md/bcache/super.c:25:
>> arch/mips/include/asm/elf.h:189:1: warning: empty declaration
     189 | struct mips_elf_abiflags_v0 {
         | ^~~~~~
>> arch/mips/include/asm/elf.h:208:23: error: storage class specified for parameter 'elf_greg_t'
     208 | typedef unsigned long elf_greg_t;
         |                       ^~~~~~~~~~
>> arch/mips/include/asm/elf.h:209:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'elf_gregset_t'
     209 | typedef elf_greg_t elf_gregset_t[ELF_NGREG];
         |                    ^~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:211:16: error: storage class specified for parameter 'elf_fpreg_t'
     211 | typedef double elf_fpreg_t;
         |                ^~~~~~~~~~~
>> arch/mips/include/asm/elf.h:212:21: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'elf_fpregset_t'
     212 | typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
         |                     ^~~~~~~~~~~~~~
   arch/mips/include/asm/elf.h:321:1: warning: empty declaration
     321 | struct mips_abi;
         | ^~~~~~
>> arch/mips/include/asm/elf.h:323:24: error: storage class specified for parameter 'mips_abi'
     323 | extern struct mips_abi mips_abi;
         |                        ^~~~~~~~
>> arch/mips/include/asm/elf.h:324:24: error: storage class specified for parameter 'mips_abi_32'
     324 | extern struct mips_abi mips_abi_32;
         |                        ^~~~~~~~~~~
>> arch/mips/include/asm/elf.h:325:24: error: storage class specified for parameter 'mips_abi_n32'
     325 | extern struct mips_abi mips_abi_n32;
         |                        ^~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:421:21: error: storage class specified for parameter 'elf_hwcap'
     421 | extern unsigned int elf_hwcap;
         |                     ^~~~~~~~~
   In file included from include/linux/elf.h:6,
                    from include/linux/module.h:18,
                    from drivers/md/bcache/super.c:25:
>> arch/mips/include/asm/elf.h:431:20: error: storage class specified for parameter '__elf_platform'
     431 | extern const char *__elf_platform;
         |                    ^~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:434:20: error: storage class specified for parameter '__elf_base_platform'
     434 | extern const char *__elf_base_platform;
         |                    ^~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/elf.h:466:1: warning: empty declaration
     466 | struct linux_binprm;
         | ^~~~~~
>> arch/mips/include/asm/elf.h:467:12: error: storage class specified for parameter 'arch_setup_additional_pages'
     467 | extern int arch_setup_additional_pages(struct linux_binprm *bprm,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/mips/include/asm/elf.h:472:1: warning: empty declaration
     472 | struct arch_elf_state {
         | ^~~~~~
>> arch/mips/include/asm/elf.h:488:12: error: storage class specified for parameter 'arch_elf_pt_proc'
     488 | extern int arch_elf_pt_proc(void *ehdr, void *phdr, struct file *elf,
         |            ^~~~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:491:12: error: storage class specified for parameter 'arch_check_elf'
     491 | extern int arch_check_elf(void *ehdr, bool has_interpreter, void *interp_ehdr,
         |            ^~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:495:13: error: storage class specified for parameter 'mips_use_nan_legacy'
     495 | extern bool mips_use_nan_legacy;
         |             ^~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:496:13: error: storage class specified for parameter 'mips_use_nan_2008'
     496 | extern bool mips_use_nan_2008;
         |             ^~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:498:13: error: storage class specified for parameter 'mips_set_personality_nan'
     498 | extern void mips_set_personality_nan(struct arch_elf_state *state);
         |             ^~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:499:13: error: storage class specified for parameter 'mips_set_personality_fp'
     499 | extern void mips_set_personality_fp(struct arch_elf_state *state);
         |             ^~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/elf.h:518:12: error: storage class specified for parameter 'mips_elf_read_implies_exec'
     518 | extern int mips_elf_read_implies_exec(void *elf_ex, int exstack);
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/module.h:18,
                    from drivers/md/bcache/super.c:25:
   include/linux/elf.h:40:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_DYNAMIC'
      40 | extern Elf32_Dyn _DYNAMIC [];
         |                  ^~~~~~~~
   include/linux/elf.h:65:1: warning: empty declaration
      65 | struct file;
         | ^~~~~~
   include/linux/elf.h:66:1: warning: empty declaration
      66 | struct coredump_params;
         | ^~~~~~
   include/linux/elf.h:69:55: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      69 | static inline int elf_coredump_extra_notes_size(void) { return 0; }
         |                                                       ^
   include/linux/elf.h:70:80: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      70 | static inline int elf_coredump_extra_notes_write(struct coredump_params *cprm) { return 0; }
         |                                                                                ^
   include/linux/elf.h:81:1: warning: empty declaration
      81 | struct gnu_property {
         | ^~~~~~
   include/linux/elf.h:86:1: warning: empty declaration
      86 | struct arch_elf_state;
         | ^~~~~~
   include/linux/elf.h:92:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
      92 | {
         | ^
   include/linux/elf.h:107:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
     107 | {
         | ^
   In file included from include/linux/module.h:21,
                    from drivers/md/bcache/super.c:25:
   include/linux/moduleparam.h:36:1: warning: empty declaration
      36 | struct kernel_param;
         | ^~~~~~
   include/linux/moduleparam.h:43:1: warning: empty declaration
      43 | enum {
         | ^~~~
   include/linux/moduleparam.h:47:1: warning: empty declaration
      47 | struct kernel_param_ops {
         | ^~~~~~
   include/linux/moduleparam.h:64:1: warning: empty declaration
      64 | enum {
         | ^~~~
   include/linux/moduleparam.h:69:1: warning: empty declaration
      69 | struct kernel_param {
         | ^~~~~~
   include/linux/moduleparam.h:83:34: error: storage class specified for parameter '__start___param'
      83 | extern const struct kernel_param __start___param[], __stop___param[];
         |                                  ^~~~~~~~~~~~~~~
   include/linux/moduleparam.h:83:53: error: storage class specified for parameter '__stop___param'
      83 | extern const struct kernel_param __start___param[], __stop___param[];
         |                                                     ^~~~~~~~~~~~~~
   include/linux/moduleparam.h:86:1: warning: empty declaration
      86 | struct kparam_string {
         | ^~~~~~
   include/linux/moduleparam.h:92:1: warning: empty declaration
      92 | struct kparam_array
         | ^~~~~~
   include/linux/moduleparam.h:304:13: error: storage class specified for parameter 'kernel_param_lock'
     304 | extern void kernel_param_lock(struct module *mod);
         |             ^~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:305:13: error: storage class specified for parameter 'kernel_param_unlock'
     305 | extern void kernel_param_unlock(struct module *mod);
         |             ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:372:13: error: storage class specified for parameter 'parameq'
     372 | extern bool parameq(const char *name1, const char *name2);
         |             ^~~~~~~
   include/linux/moduleparam.h:382:13: error: storage class specified for parameter 'parameqn'
     382 | extern bool parameqn(const char *name1, const char *name2, size_t n);
         |             ^~~~~~~~
   include/linux/moduleparam.h:385:14: error: storage class specified for parameter 'parse_args'
     385 | extern char *parse_args(const char *name,
         |              ^~~~~~~~~~
   include/linux/moduleparam.h:397:13: error: storage class specified for parameter 'destroy_params'
     397 | extern void destroy_params(const struct kernel_param *params, unsigned num);
         |             ^~~~~~~~~~~~~~
   include/linux/moduleparam.h:411:38: error: storage class specified for parameter 'param_ops_byte'
     411 | extern const struct kernel_param_ops param_ops_byte;
         |                                      ^~~~~~~~~~~~~~
   include/linux/moduleparam.h:412:12: error: storage class specified for parameter 'param_set_byte'
     412 | extern int param_set_byte(const char *val, const struct kernel_param *kp);
         |            ^~~~~~~~~~~~~~
   include/linux/moduleparam.h:413:12: error: storage class specified for parameter 'param_get_byte'
     413 | extern int param_get_byte(char *buffer, const struct kernel_param *kp);
         |            ^~~~~~~~~~~~~~
   include/linux/moduleparam.h:416:38: error: storage class specified for parameter 'param_ops_short'
     416 | extern const struct kernel_param_ops param_ops_short;
         |                                      ^~~~~~~~~~~~~~~
   include/linux/moduleparam.h:417:12: error: storage class specified for parameter 'param_set_short'
     417 | extern int param_set_short(const char *val, const struct kernel_param *kp);
         |            ^~~~~~~~~~~~~~~
   include/linux/moduleparam.h:418:12: error: storage class specified for parameter 'param_get_short'
     418 | extern int param_get_short(char *buffer, const struct kernel_param *kp);
         |            ^~~~~~~~~~~~~~~
   include/linux/moduleparam.h:421:38: error: storage class specified for parameter 'param_ops_ushort'
     421 | extern const struct kernel_param_ops param_ops_ushort;
         |                                      ^~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:422:12: error: storage class specified for parameter 'param_set_ushort'
..


vim +258 drivers/md/bcache/nvm-pages.c

   120	
   121	struct bch_nvm_namespace *bch_register_namespace(const char *dev_path)
   122	{
   123		struct bch_nvm_namespace *ns;
   124		int err;
   125		pgoff_t pgoff;
   126		char buf[BDEVNAME_SIZE];
   127		struct block_device *bdev;
   128		uint64_t expected_csum;
   129		int id;
   130		char *path = NULL;
   131	
   132		path = kstrndup(dev_path, 512, GFP_KERNEL);
   133		if (!path) {
   134			pr_err("kstrndup failed\n");
   135			return ERR_PTR(-ENOMEM);
   136		}
   137	
   138		bdev = blkdev_get_by_path(strim(path),
   139					  FMODE_READ|FMODE_WRITE|FMODE_EXEC,
   140					  only_set);
   141		if (IS_ERR(bdev)) {
   142			pr_info("get %s error: %ld\n", dev_path, PTR_ERR(bdev));
   143			kfree(path);
   144			return ERR_PTR(PTR_ERR(bdev));
   145		}
   146	
   147		ns = kzalloc(sizeof(struct bch_nvm_namespace), GFP_KERNEL);
   148		if (!ns)
   149			goto bdput;
   150	
   151		err = -EIO;
   152		if (read_nvdimm_meta_super(bdev, ns)) {
   153			pr_info("%s read nvdimm meta super block failed.\n",
   154				bdevname(bdev, buf));
   155			goto free_ns;
   156		}
   157	
   158		err = -EOPNOTSUPP;
   159		if (!bdev_dax_supported(bdev, ns->page_size)) {
   160			pr_info("%s don't support DAX\n", bdevname(bdev, buf));
   161			goto free_ns;
   162		}
   163	
   164		err = -EINVAL;
   165		if (bdev_dax_pgoff(bdev, 0, ns->page_size, &pgoff)) {
   166			pr_info("invalid offset of %s\n", bdevname(bdev, buf));
   167			goto free_ns;
   168		}
   169	
   170		err = -ENOMEM;
   171		ns->dax_dev = fs_dax_get_by_bdev(bdev);
   172		if (!ns->dax_dev) {
   173			pr_info("can't by dax device by %s\n", bdevname(bdev, buf));
   174			goto free_ns;
   175		}
   176	
   177		err = -EINVAL;
   178		id = dax_read_lock();
   179		if (dax_direct_access(ns->dax_dev, pgoff, ns->pages_total,
   180				      &ns->kaddr, &ns->start_pfn) <= 0) {
   181			pr_info("dax_direct_access error\n");
   182			dax_read_unlock(id);
   183			goto free_ns;
   184		}
   185		dax_read_unlock(id);
   186	
   187		ns->sb = ns->kaddr + BCH_NVM_PAGES_SB_OFFSET;
   188	
   189		if (memcmp(ns->sb->magic, bch_nvm_pages_magic, 16)) {
   190			pr_info("invalid bch_nvm_pages_magic\n");
   191			goto free_ns;
   192		}
   193	
   194		if (ns->sb->sb_offset != BCH_NVM_PAGES_SB_OFFSET) {
   195			pr_info("invalid superblock offset\n");
   196			goto free_ns;
   197		}
   198	
   199		if (ns->sb->total_namespaces_nr != 1) {
   200			pr_info("only one nvm device\n");
   201			goto free_ns;
   202		}
   203	
   204		expected_csum = csum_set(ns->sb);
   205		if (expected_csum != ns->sb->csum) {
   206			pr_info("csum is not match with expected one\n");
   207			goto free_ns;
   208		}
   209	
   210		err = -EEXIST;
   211		if (!attach_nvm_set(ns))
   212			goto free_ns;
   213	
   214		// Firstly attach
   215		if ((unsigned long)ns->sb->owner_list_head == BCH_NVM_PAGES_OWNER_LIST_HEAD_OFFSET) {
   216			struct bch_nvm_pages_owner_head *sys_owner_head;
   217			struct bch_nvm_pgalloc_recs *sys_pgalloc_recs;
   218	
   219			ns->sb->owner_list_head = ns->kaddr + BCH_NVM_PAGES_OWNER_LIST_HEAD_OFFSET;
   220			sys_pgalloc_recs = ns->kaddr + BCH_NVM_PAGES_SYS_RECS_HEAD_OFFSET;
   221	
   222			sys_owner_head = &(ns->sb->owner_list_head->heads[0]);
   223			sys_owner_head->recs[0] = sys_pgalloc_recs;
   224			ns->sb->csum = csum_set(ns->sb);
   225	
   226			sys_pgalloc_recs->owner = sys_owner_head;
   227		} else
   228			BUG_ON(ns->sb->owner_list_head !=
   229				(ns->kaddr + BCH_NVM_PAGES_OWNER_LIST_HEAD_OFFSET));
   230	
   231		ns->page_size = ns->sb->page_size;
   232		ns->pages_offset = ns->sb->pages_offset;
   233		ns->pages_total = ns->sb->pages_total;
   234		ns->free = 0;
   235		ns->bdev = bdev;
   236		ns->nvm_set = only_set;
   237		mutex_init(&ns->lock);
   238	
   239		if (ns->sb->this_namespace_nr == 0) {
   240			pr_info("only first namespace contain owner info\n");
   241			err = init_owner_info(ns);
   242			if (err < 0) {
   243				pr_info("init_owner_info met error %d\n", err);
   244				only_set->nss[ns->sb->this_namespace_nr] = NULL;
   245				goto free_ns;
   246			}
   247		}
   248	
   249		kfree(path);
   250		return ns;
   251	free_ns:
   252		kfree(ns);
   253	bdput:
   254		blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXEC);
   255		kfree(path);
   256		return ERR_PTR(err);
   257	}
 > 258	EXPORT_SYMBOL_GPL(bch_register_namespace);
   259	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28010 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-29 19:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-29 19:57 [bcache:nvdimm-meta 2/16] drivers/md/bcache/nvm-pages.c:258:42: error: expected declaration specifiers before '; ' token kernel test robot

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.