lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202210291938.CidZ6iUt-lkp@intel.com>
Date:   Sat, 29 Oct 2022 19:23:32 +0800
From:   kernel test robot <lkp@...el.com>
To:     James Morse <james.morse@....com>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
        "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
        Catalin Marinas <catalin.marinas@....com>
Subject: arch/arm64/kernel/proton-pack.c:1117:13: warning: no previous
 prototype for 'spectre_bhb_patch_clearbhb'

Hi James,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   576e61cea1e4b66f52f164dee0edbe4b1c999997
commit: 228a26b912287934789023b4132ba76065d9491c arm64: Use the clearbhb instruction in mitigations
date:   8 months ago
config: arm64-alldefconfig
compiler: aarch64-linux-gcc (GCC) 12.1.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/torvalds/linux.git/commit/?id=228a26b912287934789023b4132ba76065d9491c
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 228a26b912287934789023b4132ba76065d9491c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kernel/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   arch/arm64/kernel/proton-pack.c:564:13: warning: no previous prototype for 'spectre_v4_patch_fw_mitigation_enable' [-Wmissing-prototypes]
     564 | void __init spectre_v4_patch_fw_mitigation_enable(struct alt_instr *alt,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/proton-pack.c:584:13: warning: no previous prototype for 'smccc_patch_fw_mitigation_conduit' [-Wmissing-prototypes]
     584 | void __init smccc_patch_fw_mitigation_conduit(struct alt_instr *alt,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/proton-pack.c:1048:14: warning: no previous prototype for 'spectre_bhb_patch_loop_mitigation_enable' [-Wmissing-prototypes]
    1048 | void noinstr spectre_bhb_patch_loop_mitigation_enable(struct alt_instr *alt,
         |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/proton-pack.c:1059:14: warning: no previous prototype for 'spectre_bhb_patch_fw_mitigation_enabled' [-Wmissing-prototypes]
    1059 | void noinstr spectre_bhb_patch_fw_mitigation_enabled(struct alt_instr *alt,
         |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/proton-pack.c:1070:14: warning: no previous prototype for 'spectre_bhb_patch_loop_iter' [-Wmissing-prototypes]
    1070 | void noinstr spectre_bhb_patch_loop_iter(struct alt_instr *alt,
         |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/proton-pack.c:1091:14: warning: no previous prototype for 'spectre_bhb_patch_wa3' [-Wmissing-prototypes]
    1091 | void noinstr spectre_bhb_patch_wa3(struct alt_instr *alt,
         |              ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/proton-pack.c:1117:13: warning: no previous prototype for 'spectre_bhb_patch_clearbhb' [-Wmissing-prototypes]
    1117 | void __init spectre_bhb_patch_clearbhb(struct alt_instr *alt,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/spectre_bhb_patch_clearbhb +1117 arch/arm64/kernel/proton-pack.c

  1057	
  1058	/* Patched to NOP when enabled */
> 1059	void noinstr spectre_bhb_patch_fw_mitigation_enabled(struct alt_instr *alt,
  1060							   __le32 *origptr,
  1061							   __le32 *updptr, int nr_inst)
  1062	{
  1063		BUG_ON(nr_inst != 1);
  1064	
  1065		if (test_bit(BHB_FW, &system_bhb_mitigations))
  1066			*updptr++ = cpu_to_le32(aarch64_insn_gen_nop());
  1067	}
  1068	
  1069	/* Patched to correct the immediate */
  1070	void noinstr spectre_bhb_patch_loop_iter(struct alt_instr *alt,
  1071					   __le32 *origptr, __le32 *updptr, int nr_inst)
  1072	{
  1073		u8 rd;
  1074		u32 insn;
  1075		u16 loop_count = spectre_bhb_loop_affected(SCOPE_SYSTEM);
  1076	
  1077		BUG_ON(nr_inst != 1); /* MOV -> MOV */
  1078	
  1079		if (!IS_ENABLED(CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY))
  1080			return;
  1081	
  1082		insn = le32_to_cpu(*origptr);
  1083		rd = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RD, insn);
  1084		insn = aarch64_insn_gen_movewide(rd, loop_count, 0,
  1085						 AARCH64_INSN_VARIANT_64BIT,
  1086						 AARCH64_INSN_MOVEWIDE_ZERO);
  1087		*updptr++ = cpu_to_le32(insn);
  1088	}
  1089	
  1090	/* Patched to mov WA3 when supported */
  1091	void noinstr spectre_bhb_patch_wa3(struct alt_instr *alt,
  1092					   __le32 *origptr, __le32 *updptr, int nr_inst)
  1093	{
  1094		u8 rd;
  1095		u32 insn;
  1096	
  1097		BUG_ON(nr_inst != 1); /* MOV -> MOV */
  1098	
  1099		if (!IS_ENABLED(CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY) ||
  1100		    !test_bit(BHB_FW, &system_bhb_mitigations))
  1101			return;
  1102	
  1103		insn = le32_to_cpu(*origptr);
  1104		rd = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RD, insn);
  1105	
  1106		insn = aarch64_insn_gen_logical_immediate(AARCH64_INSN_LOGIC_ORR,
  1107							  AARCH64_INSN_VARIANT_32BIT,
  1108							  AARCH64_INSN_REG_ZR, rd,
  1109							  ARM_SMCCC_ARCH_WORKAROUND_3);
  1110		if (WARN_ON_ONCE(insn == AARCH64_BREAK_FAULT))
  1111			return;
  1112	
  1113		*updptr++ = cpu_to_le32(insn);
  1114	}
  1115	
  1116	/* Patched to NOP when not supported */
> 1117	void __init spectre_bhb_patch_clearbhb(struct alt_instr *alt,

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (43970 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ