[arm64:for-next/ghostbusters 15/19] arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for 'spectre_v4_patch_fw_mitigation_enable'

kernel test robot lkp at intel.com
Mon Sep 21 23:22:14 EDT 2020


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/ghostbusters
head:   9a313c5d65a5f10ddf605022e9220e52946326f0
commit: 9dedd646da95640f41d6d8d523011ec44b26c4d7 [15/19] arm64: Rewrite Spectre-v4 mitigation code
config: arm64-randconfig-r005-20200920 (attached as .config)
compiler: aarch64-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
        git checkout 9dedd646da95640f41d6d8d523011ec44b26c4d7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

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

All warnings (new ones prefixed by >>):

   arch/arm64/kernel/proton-pack.c: In function 'spectre_v2_enable_fw_mitigation':
   arch/arm64/kernel/proton-pack.c:288:2: error: implicit declaration of function 'install_bp_hardening_cb' [-Werror=implicit-function-declaration]
     288 |  install_bp_hardening_cb(cb);
         |  ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/proton-pack.c: At top level:
>> arch/arm64/kernel/proton-pack.c:558:13: warning: no previous prototype for 'spectre_v4_patch_fw_mitigation_enable' [-Wmissing-prototypes]
     558 | void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/proton-pack.c:578:13: warning: no previous prototype for 'spectre_v4_patch_fw_mitigation_conduit' [-Wmissing-prototypes]
     578 | void __init spectre_v4_patch_fw_mitigation_conduit(struct alt_instr *alt,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

# https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?id=9dedd646da95640f41d6d8d523011ec44b26c4d7
git remote add arm64 https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
git fetch --no-tags arm64 for-next/ghostbusters
git checkout 9dedd646da95640f41d6d8d523011ec44b26c4d7
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 37494 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20200922/aa4238d6/attachment-0001.gz>


More information about the linux-arm-kernel mailing list