arch/arm64/kernel/entry-common.c:210:25: warning: no previous prototype for 'el0_sync_handler'

From: kernel test robot
Date: Mon Dec 14 2020 - 05:20:17 EST


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 <lkp@xxxxxxxxx>

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@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip