LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_enable'
@ 2021-08-13 23:11 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-08-13 23:11 UTC (permalink / raw)
  To: Will Deacon; +Cc: clang-built-linux, kbuild-all, linux-kernel

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f8e6dfc64f6135d1b6c5215c14cd30b9b60a0008
commit: c28762070ca651fe7a981b8f31d972c9b7d2c386 arm64: Rewrite Spectre-v4 mitigation code
date:   11 months ago
config: arm64-randconfig-r013-20210814 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 62df4df41c939205b2dc0a2a3bfb75b8c1ed74fa)
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/torvalds/linux.git/commit/?id=c28762070ca651fe7a981b8f31d972c9b7d2c386
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout c28762070ca651fe7a981b8f31d972c9b7d2c386
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

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

All warnings (new ones prefixed by >>):

   arch/arm64/kernel/proton-pack.c:288:2: error: implicit declaration of function 'install_bp_hardening_cb' [-Werror,-Wimplicit-function-declaration]
           install_bp_hardening_cb(cb);
           ^
   arch/arm64/kernel/proton-pack.c:304:2: error: implicit declaration of function 'install_bp_hardening_cb' [-Werror,-Wimplicit-function-declaration]
           install_bp_hardening_cb(qcom_link_stack_sanitisation);
           ^
>> arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_enable' [-Wmissing-prototypes]
   void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
               ^
   arch/arm64/kernel/proton-pack.c:558:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
   ^
   static 
>> arch/arm64/kernel/proton-pack.c:578:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_conduit' [-Wmissing-prototypes]
   void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
               ^
   arch/arm64/kernel/proton-pack.c:578:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
   ^
   static 
   2 warnings and 2 errors generated.


vim +/spectre_v4_patch_fw_mitigation_enable +558 arch/arm64/kernel/proton-pack.c

   553	
   554	/*
   555	 * Patch a branch over the Spectre-v4 mitigation code with a NOP so that
   556	 * we fallthrough and check whether firmware needs to be called on this CPU.
   557	 */
 > 558	void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
   559							  __le32 *origptr,
   560							  __le32 *updptr, int nr_inst)
   561	{
   562		BUG_ON(nr_inst != 1); /* Branch -> NOP */
   563	
   564		if (spectre_v4_mitigations_off())
   565			return;
   566	
   567		if (cpus_have_final_cap(ARM64_SSBS))
   568			return;
   569	
   570		if (spectre_v4_mitigations_dynamic())
   571			*updptr = cpu_to_le32(aarch64_insn_gen_nop());
   572	}
   573	
   574	/*
   575	 * Patch a NOP in the Spectre-v4 mitigation code with an SMC/HVC instruction
   576	 * to call into firmware to adjust the mitigation state.
   577	 */
 > 578	void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
   579							   __le32 *origptr,
   580							   __le32 *updptr, int nr_inst)
   581	{
   582		u32 insn;
   583	
   584		BUG_ON(nr_inst != 1); /* NOP -> HVC/SMC */
   585	
   586		switch (arm_smccc_1_1_get_conduit()) {
   587		case SMCCC_CONDUIT_HVC:
   588			insn = aarch64_insn_get_hvc_value();
   589			break;
   590		case SMCCC_CONDUIT_SMC:
   591			insn = aarch64_insn_get_smc_value();
   592			break;
   593		default:
   594			return;
   595		}
   596	
   597		*updptr = cpu_to_le32(insn);
   598	}
   599	

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

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

^ permalink raw reply	[flat|nested] 2+ messages in thread
* arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_enable'
@ 2021-09-27 14:37 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-09-27 14:37 UTC (permalink / raw)
  To: Will Deacon; +Cc: llvm, kbuild-all, linux-kernel

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   92477dd1faa650e50bd3bb35a6c0b8d09198cc35
commit: c28762070ca651fe7a981b8f31d972c9b7d2c386 arm64: Rewrite Spectre-v4 mitigation code
date:   12 months ago
config: arm64-randconfig-r016-20210927 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c28762070ca651fe7a981b8f31d972c9b7d2c386
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout c28762070ca651fe7a981b8f31d972c9b7d2c386
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64 

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

All warnings (new ones prefixed by >>):

   arch/arm64/kernel/proton-pack.c:288:2: error: implicit declaration of function 'install_bp_hardening_cb' [-Werror,-Wimplicit-function-declaration]
           install_bp_hardening_cb(cb);
           ^
   arch/arm64/kernel/proton-pack.c:304:2: error: implicit declaration of function 'install_bp_hardening_cb' [-Werror,-Wimplicit-function-declaration]
           install_bp_hardening_cb(qcom_link_stack_sanitisation);
           ^
>> arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_enable' [-Wmissing-prototypes]
   void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
               ^
   arch/arm64/kernel/proton-pack.c:558:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
   ^
   static 
>> arch/arm64/kernel/proton-pack.c:578:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_conduit' [-Wmissing-prototypes]
   void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
               ^
   arch/arm64/kernel/proton-pack.c:578:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
   ^
   static 
   2 warnings and 2 errors generated.


vim +/spectre_v4_patch_fw_mitigation_enable +558 arch/arm64/kernel/proton-pack.c

   553	
   554	/*
   555	 * Patch a branch over the Spectre-v4 mitigation code with a NOP so that
   556	 * we fallthrough and check whether firmware needs to be called on this CPU.
   557	 */
 > 558	void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
   559							  __le32 *origptr,
   560							  __le32 *updptr, int nr_inst)
   561	{
   562		BUG_ON(nr_inst != 1); /* Branch -> NOP */
   563	
   564		if (spectre_v4_mitigations_off())
   565			return;
   566	
   567		if (cpus_have_final_cap(ARM64_SSBS))
   568			return;
   569	
   570		if (spectre_v4_mitigations_dynamic())
   571			*updptr = cpu_to_le32(aarch64_insn_gen_nop());
   572	}
   573	
   574	/*
   575	 * Patch a NOP in the Spectre-v4 mitigation code with an SMC/HVC instruction
   576	 * to call into firmware to adjust the mitigation state.
   577	 */
 > 578	void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
   579							   __le32 *origptr,
   580							   __le32 *updptr, int nr_inst)
   581	{
   582		u32 insn;
   583	
   584		BUG_ON(nr_inst != 1); /* NOP -> HVC/SMC */
   585	
   586		switch (arm_smccc_1_1_get_conduit()) {
   587		case SMCCC_CONDUIT_HVC:
   588			insn = aarch64_insn_get_hvc_value();
   589			break;
   590		case SMCCC_CONDUIT_SMC:
   591			insn = aarch64_insn_get_smc_value();
   592			break;
   593		default:
   594			return;
   595		}
   596	
   597		*updptr = cpu_to_le32(insn);
   598	}
   599	

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

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-27 14:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-13 23:11 arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for function 'spectre_v4_patch_fw_mitigation_enable' kernel test robot
2021-09-27 14:37 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).