tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 2c85ebc57b3e1817b6ce1a6b703928e113a90442 commit: 582f95835a8fc812cd38dce0447fe9386b78913e arm64: entry: convert el0_sync to C date: 1 year, 2 months ago config: arm64-randconfig-r021-20201214 (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 # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=582f95835a8fc812cd38dce0447fe9386b78913e git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 582f95835a8fc812cd38dce0447fe9386b78913e # 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 All warnings (new ones prefixed by >>): arch/arm64/kernel/entry-common.c:68:25: warning: no previous prototype for 'el1_sync_handler' [-Wmissing-prototypes] 68 | asmlinkage void notrace el1_sync_handler(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~ >> arch/arm64/kernel/entry-common.c:210:25: warning: no previous prototype for 'el0_sync_handler' [-Wmissing-prototypes] 210 | asmlinkage void notrace el0_sync_handler(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~ >> arch/arm64/kernel/entry-common.c:276:25: warning: no previous prototype for 'el0_sync_compat_handler' [-Wmissing-prototypes] 276 | asmlinkage void notrace el0_sync_compat_handler(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~~~ vim +/el0_sync_handler +210 arch/arm64/kernel/entry-common.c 209 > 210 asmlinkage void notrace el0_sync_handler(struct pt_regs *regs) 211 { 212 unsigned long esr = read_sysreg(esr_el1); 213 214 switch (ESR_ELx_EC(esr)) { 215 case ESR_ELx_EC_SVC64: 216 el0_svc(regs); 217 break; 218 case ESR_ELx_EC_DABT_LOW: 219 el0_da(regs, esr); 220 break; 221 case ESR_ELx_EC_IABT_LOW: 222 el0_ia(regs, esr); 223 break; 224 case ESR_ELx_EC_FP_ASIMD: 225 el0_fpsimd_acc(regs, esr); 226 break; 227 case ESR_ELx_EC_SVE: 228 el0_sve_acc(regs, esr); 229 break; 230 case ESR_ELx_EC_FP_EXC64: 231 el0_fpsimd_exc(regs, esr); 232 break; 233 case ESR_ELx_EC_SYS64: 234 case ESR_ELx_EC_WFx: 235 el0_sys(regs, esr); 236 break; 237 case ESR_ELx_EC_SP_ALIGN: 238 el0_sp(regs, esr); 239 break; 240 case ESR_ELx_EC_PC_ALIGN: 241 el0_pc(regs, esr); 242 break; 243 case ESR_ELx_EC_UNKNOWN: 244 el0_undef(regs); 245 break; 246 case ESR_ELx_EC_BREAKPT_LOW: 247 case ESR_ELx_EC_SOFTSTP_LOW: 248 case ESR_ELx_EC_WATCHPT_LOW: 249 case ESR_ELx_EC_BRK64: 250 el0_dbg(regs, esr); 251 break; 252 default: 253 el0_inv(regs, esr); 254 } 255 } 256 NOKPROBE_SYMBOL(el0_sync_handler); 257 258 #ifdef CONFIG_COMPAT 259 static void notrace el0_cp15(struct pt_regs *regs, unsigned long esr) 260 { 261 user_exit_irqoff(); 262 local_daif_restore(DAIF_PROCCTX); 263 do_cp15instr(esr, regs); 264 } 265 NOKPROBE_SYMBOL(el0_cp15); 266 267 static void notrace el0_svc_compat(struct pt_regs *regs) 268 { 269 if (system_uses_irq_prio_masking()) 270 gic_write_pmr(GIC_PRIO_IRQON | GIC_PRIO_PSR_I_SET); 271 272 el0_svc_compat_handler(regs); 273 } 274 NOKPROBE_SYMBOL(el0_svc_compat); 275 > 276 asmlinkage void notrace el0_sync_compat_handler(struct pt_regs *regs) --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org