From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8862C433EF for ; Wed, 17 Nov 2021 11:41:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A1C666321A for ; Wed, 17 Nov 2021 11:41:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235404AbhKQLow (ORCPT ); Wed, 17 Nov 2021 06:44:52 -0500 Received: from mga17.intel.com ([192.55.52.151]:47475 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235061AbhKQLov (ORCPT ); Wed, 17 Nov 2021 06:44:51 -0500 X-IronPort-AV: E=McAfee;i="6200,9189,10170"; a="214650054" X-IronPort-AV: E=Sophos;i="5.87,241,1631602800"; d="gz'50?scan'50,208,50";a="214650054" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2021 03:41:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,241,1631602800"; d="gz'50?scan'50,208,50";a="604697656" Received: from lkp-server02.sh.intel.com (HELO c20d8bc80006) ([10.239.97.151]) by orsmga004.jf.intel.com with ESMTP; 17 Nov 2021 03:41:50 -0800 Received: from kbuild by c20d8bc80006 with local (Exim 4.92) (envelope-from ) id 1mnJK1-0001cV-SL; Wed, 17 Nov 2021 11:41:49 +0000 Date: Wed, 17 Nov 2021 19:40:50 +0800 From: kernel test robot To: Xiaoming Ni Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Luis Chamberlain Subject: [mcgrof-next:20211116-sysctl-cleanups-v4 6/35] include/linux/export.h:98:9: error: expected expression before 'extern' Message-ID: <202111171936.wytZ2w6E-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="EVF5PPMfhYS0aIcm" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --EVF5PPMfhYS0aIcm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20211116-sysctl-cleanups-v4 head: 5347239461f25fc50aa761923245b9ec4a4aafec commit: 88b045e811bcb4988e2f37077d8a582b7a111b68 [6/35] sysctl: Add const decoration for static boundary value variables config: nios2-defconfig (attached as .config) compiler: nios2-linux-gcc (GCC) 11.2.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/mcgrof/linux-next.git/commit/?id=88b045e811bcb4988e2f37077d8a582b7a111b68 git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git git fetch --no-tags mcgrof-next 20211116-sysctl-cleanups-v4 git checkout 88b045e811bcb4988e2f37077d8a582b7a111b68 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): kernel/sysctl.c:1775:36: error: 'sysctl_sched_min_granularity' undeclared here (not in a function) 1775 | .data = &sysctl_sched_min_granularity, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:1778:35: error: 'sched_proc_update_handler' undeclared here (not in a function); did you mean 'sched_rt_handler'? 1778 | .proc_handler = sched_proc_update_handler, | ^~~~~~~~~~~~~~~~~~~~~~~~~ | sched_rt_handler kernel/sysctl.c:1784:36: error: 'sysctl_sched_latency' undeclared here (not in a function); did you mean 'sysctl_schedstats'? 1784 | .data = &sysctl_sched_latency, | ^~~~~~~~~~~~~~~~~~~~ | sysctl_schedstats kernel/sysctl.c:1793:36: error: 'sysctl_sched_wakeup_granularity' undeclared here (not in a function) 1793 | .data = &sysctl_sched_wakeup_granularity, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/linkage.h:7, from include/linux/kernel.h:8, from include/linux/cpumask.h:10, from include/linux/mm_types_task.h:14, from include/linux/mm_types.h:5, from include/linux/buildid.h:5, from include/linux/module.h:14, from kernel/sysctl.c:22: >> include/linux/export.h:98:9: error: expected expression before 'extern' 98 | extern typeof(sym) sym; \ | ^~~~~~ include/linux/export.h:152:41: note: in expansion of macro '___EXPORT_SYMBOL' 152 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:160:41: note: in expansion of macro '__EXPORT_SYMBOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:163:41: note: in expansion of macro '_EXPORT_SYMBOL' 163 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ kernel/sysctl.c:3387:1: note: in expansion of macro 'EXPORT_SYMBOL' 3387 | EXPORT_SYMBOL(proc_dobool); | ^~~~~~~~~~~~~ kernel/sysctl.c:1772: error: unterminated #ifdef 1772 | #ifdef CONFIG_SCHED_DEBUG | kernel/sysctl.c:1733: error: unterminated #if 1733 | #if defined(CONFIG_SYSCTL) | kernel/sysctl.c:1764:25: warning: 'kern_table' defined but not used [-Wunused-variable] 1764 | static struct ctl_table kern_table[] = { | ^~~~~~~~~~ kernel/sysctl.c:1482:12: warning: 'proc_do_cad_pid' defined but not used [-Wunused-function] 1482 | static int proc_do_cad_pid(struct ctl_table *table, int write, void *buffer, | ^~~~~~~~~~~~~~~ kernel/sysctl.c:1187:12: warning: 'proc_dostring_coredump' defined but not used [-Wunused-function] 1187 | static int proc_dostring_coredump(struct ctl_table *table, int write, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:1177:12: warning: 'proc_dointvec_minmax_coredump' defined but not used [-Wunused-function] 1177 | static int proc_dointvec_minmax_coredump(struct ctl_table *table, int write, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:1156:12: warning: 'proc_dopipe_max_size' defined but not used [-Wunused-function] 1156 | static int proc_dopipe_max_size(struct ctl_table *table, int write, | ^~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:931:12: warning: 'proc_dointvec_minmax_sysadmin' defined but not used [-Wunused-function] 931 | static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:891:12: warning: 'proc_taint' defined but not used [-Wunused-function] 891 | static int proc_taint(struct ctl_table *table, int write, | ^~~~~~~~~~ kernel/sysctl.c:847:12: warning: 'proc_dointvec_minmax_warn_RT_change' defined but not used [-Wunused-function] 847 | static int proc_dointvec_minmax_warn_RT_change(struct ctl_table *table, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:185:18: warning: 'max_extfrag_threshold' defined but not used [-Wunused-const-variable=] 185 | static const int max_extfrag_threshold = 1000; | ^~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:184:18: warning: 'min_extfrag_threshold' defined but not used [-Wunused-const-variable=] 184 | static const int min_extfrag_threshold; | ^~~~~~~~~~~~~~~~~~~~~ kernel/sysctl.c:128:18: warning: 'cap_last_cap' defined but not used [-Wunused-const-variable=] 128 | static const int cap_last_cap = CAP_LAST_CAP; | ^~~~~~~~~~~~ kernel/sysctl.c:127:18: warning: 'ngroups_max' defined but not used [-Wunused-const-variable=] 127 | static const int ngroups_max = NGROUPS_MAX; | ^~~~~~~~~~~ kernel/sysctl.c:125:18: warning: 'minolduid' defined but not used [-Wunused-const-variable=] 125 | static const int minolduid; | ^~~~~~~~~ kernel/sysctl.c:124:18: warning: 'maxolduid' defined but not used [-Wunused-const-variable=] 124 | static const int maxolduid = 65535; | ^~~~~~~~~ kernel/sysctl.c:121:28: warning: 'dirty_bytes_min' defined but not used [-Wunused-const-variable=] 121 | static const unsigned long dirty_bytes_min = 2 * PAGE_SIZE; | ^~~~~~~~~~~~~~~ kernel/sysctl.c:114:18: warning: 'ten_thousand' defined but not used [-Wunused-const-variable=] 114 | static const int ten_thousand = 10000; | ^~~~~~~~~~~~ kernel/sysctl.c:112:28: warning: 'long_max' defined but not used [-Wunused-const-variable=] 112 | static const unsigned long long_max = LONG_MAX; | ^~~~~~~~ kernel/sysctl.c:111:28: warning: 'one_ul' defined but not used [-Wunused-const-variable=] 111 | static const unsigned long one_ul = 1; | ^~~~~~ kernel/sysctl.c:110:28: warning: 'zero_ul' defined but not used [-Wunused-const-variable=] 110 | static const unsigned long zero_ul; | ^~~~~~~ vim +/extern +98 include/linux/export.h 69a94abb82eed2 Masahiro Yamada 2019-09-09 84 ce2b617ce8cbb7 Jessica Yu 2019-11-12 85 /* ce2b617ce8cbb7 Jessica Yu 2019-11-12 86 * For every exported symbol, do the following: ce2b617ce8cbb7 Jessica Yu 2019-11-12 87 * ce2b617ce8cbb7 Jessica Yu 2019-11-12 88 * - If applicable, place a CRC entry in the __kcrctab section. ce2b617ce8cbb7 Jessica Yu 2019-11-12 89 * - Put the name of the symbol and namespace (empty string "" for none) in ce2b617ce8cbb7 Jessica Yu 2019-11-12 90 * __ksymtab_strings. ce2b617ce8cbb7 Jessica Yu 2019-11-12 91 * - Place a struct kernel_symbol entry in the __ksymtab section. ce2b617ce8cbb7 Jessica Yu 2019-11-12 92 * ce2b617ce8cbb7 Jessica Yu 2019-11-12 93 * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE) ce2b617ce8cbb7 Jessica Yu 2019-11-12 94 * section flag requires it. Use '%progbits' instead of '@progbits' since the ce2b617ce8cbb7 Jessica Yu 2019-11-12 95 * former apparently works on all arches according to the binutils source. ce2b617ce8cbb7 Jessica Yu 2019-11-12 96 */ c3a6cf19e695c8 Masahiro Yamada 2019-10-18 97 #define ___EXPORT_SYMBOL(sym, sec, ns) \ f50169324df4ad Paul Gortmaker 2011-05-23 @98 extern typeof(sym) sym; \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 99 extern const char __kstrtab_##sym[]; \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 100 extern const char __kstrtabns_##sym[]; \ 8651ec01daedad Matthias Maennich 2019-09-06 101 __CRC_SYMBOL(sym, sec); \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 102 asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1 \n" \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 103 "__kstrtab_" #sym ": \n" \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 104 " .asciz \"" #sym "\" \n" \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 105 "__kstrtabns_" #sym ": \n" \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 106 " .asciz \"" ns "\" \n" \ ce2b617ce8cbb7 Jessica Yu 2019-11-12 107 " .previous \n"); \ 7290d58095712a Ard Biesheuvel 2018-08-21 108 __KSYMTAB_ENTRY(sym, sec) f50169324df4ad Paul Gortmaker 2011-05-23 109 :::::: The code at line 98 was first introduced by commit :::::: f50169324df4ad942e544386d136216c8617636a module.h: split out the EXPORT_SYMBOL into export.h :::::: TO: Paul Gortmaker :::::: CC: Paul Gortmaker --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --EVF5PPMfhYS0aIcm Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 m7X+ngAA --EVF5PPMfhYS0aIcm--