arch/powerpc/kernel/entry_32.S:450: Error: bad expression

From: kbuild test robot
Date: Fri May 08 2020 - 06:20:09 EST


Hi Christophe,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 79dede78c0573618e3137d3d8cbf78c84e25fabd
commit: feb8e960d780e170e992a70491eec9dd68f4dbf2 powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32
date: 2 weeks ago
config: powerpc-randconfig-r035-20200508 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout feb8e960d780e170e992a70491eec9dd68f4dbf2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

arch/powerpc/kernel/entry_32.S: Assembler messages:
>> arch/powerpc/kernel/entry_32.S:450: Error: bad expression
>> arch/powerpc/kernel/entry_32.S:450: Error: syntax error; found `g', expected `,'
>> arch/powerpc/kernel/entry_32.S:450: Error: junk at end of line: `gpr2,20(thread)'
arch/powerpc/kernel/entry_32.S:735: Error: bad expression
arch/powerpc/kernel/entry_32.S:735: Error: syntax error; found `g', expected `,'
arch/powerpc/kernel/entry_32.S:735: Error: junk at end of line: `gpr2,20(thread)'
arch/powerpc/kernel/entry_32.S:450: Error: invalid operands (*UND* and *UND* sections) for `|'
arch/powerpc/kernel/entry_32.S:735: Error: invalid operands (*UND* and *UND* sections) for `|'

vim +450 arch/powerpc/kernel/entry_32.S

b86fb88855ea78 Christophe Leroy 2019-04-30 344
9994a33865f4d5 Paul Mackerras 2005-10-10 345 /*
9994a33865f4d5 Paul Mackerras 2005-10-10 346 * Handle a system call.
9994a33865f4d5 Paul Mackerras 2005-10-10 347 */
9994a33865f4d5 Paul Mackerras 2005-10-10 348 .stabs "arch/powerpc/kernel/",N_SO,0,0,0f
9994a33865f4d5 Paul Mackerras 2005-10-10 349 .stabs "entry_32.S",N_SO,0,0,0f
9994a33865f4d5 Paul Mackerras 2005-10-10 350 0:
9994a33865f4d5 Paul Mackerras 2005-10-10 351
9994a33865f4d5 Paul Mackerras 2005-10-10 352 _GLOBAL(DoSyscall)
9994a33865f4d5 Paul Mackerras 2005-10-10 353 stw r3,ORIG_GPR3(r1)
9994a33865f4d5 Paul Mackerras 2005-10-10 354 li r12,0
9994a33865f4d5 Paul Mackerras 2005-10-10 355 stw r12,RESULT(r1)
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 356 #ifdef CONFIG_TRACE_IRQFLAGS
40530db7c65611 Christophe Leroy 2019-04-30 357 /* Make sure interrupts are enabled */
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 358 mfmsr r11
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 359 andi. r12,r11,MSR_EE
40530db7c65611 Christophe Leroy 2019-04-30 360 /* We came in with interrupts disabled, we WARN and mark them enabled
40530db7c65611 Christophe Leroy 2019-04-30 361 * for lockdep now */
40530db7c65611 Christophe Leroy 2019-04-30 362 0: tweqi r12, 0
40530db7c65611 Christophe Leroy 2019-04-30 363 EMIT_BUG_ENTRY 0b,__FILE__,__LINE__, BUGFLAG_WARNING
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 364 #endif /* CONFIG_TRACE_IRQFLAGS */
f7354ccac844da Christophe Leroy 2019-01-31 365 lwz r11,TI_FLAGS(r2)
10ea834364c867 Michael Ellerman 2015-01-15 366 andi. r11,r11,_TIF_SYSCALL_DOTRACE
9994a33865f4d5 Paul Mackerras 2005-10-10 367 bne- syscall_dotrace
9994a33865f4d5 Paul Mackerras 2005-10-10 368 syscall_dotrace_cont:
9994a33865f4d5 Paul Mackerras 2005-10-10 369 cmplwi 0,r0,NR_syscalls
9994a33865f4d5 Paul Mackerras 2005-10-10 370 lis r10,sys_call_table@h
9994a33865f4d5 Paul Mackerras 2005-10-10 371 ori r10,r10,sys_call_table@l
9994a33865f4d5 Paul Mackerras 2005-10-10 372 slwi r0,r0,2
9994a33865f4d5 Paul Mackerras 2005-10-10 373 bge- 66f
c28218d4abbf4f Diana Craciun 2018-07-28 374
c28218d4abbf4f Diana Craciun 2018-07-28 375 barrier_nospec_asm
c28218d4abbf4f Diana Craciun 2018-07-28 376 /*
c28218d4abbf4f Diana Craciun 2018-07-28 377 * Prevent the load of the handler below (based on the user-passed
c28218d4abbf4f Diana Craciun 2018-07-28 378 * system call number) being speculatively executed until the test
c28218d4abbf4f Diana Craciun 2018-07-28 379 * against NR_syscalls and branch to .66f above has
c28218d4abbf4f Diana Craciun 2018-07-28 380 * committed.
c28218d4abbf4f Diana Craciun 2018-07-28 381 */
c28218d4abbf4f Diana Craciun 2018-07-28 382
9994a33865f4d5 Paul Mackerras 2005-10-10 383 lwzx r10,r10,r0 /* Fetch system call handler [ptr] */
9994a33865f4d5 Paul Mackerras 2005-10-10 384 mtlr r10
9994a33865f4d5 Paul Mackerras 2005-10-10 385 addi r9,r1,STACK_FRAME_OVERHEAD
9994a33865f4d5 Paul Mackerras 2005-10-10 386 PPC440EP_ERR42
9994a33865f4d5 Paul Mackerras 2005-10-10 387 blrl /* Call handler */
9994a33865f4d5 Paul Mackerras 2005-10-10 388 .globl ret_from_syscall
9994a33865f4d5 Paul Mackerras 2005-10-10 389 ret_from_syscall:
6f37be4b1364ee Boqun Feng 2018-06-02 390 #ifdef CONFIG_DEBUG_RSEQ
6f37be4b1364ee Boqun Feng 2018-06-02 391 /* Check whether the syscall is issued inside a restartable sequence */
6f37be4b1364ee Boqun Feng 2018-06-02 392 stw r3,GPR3(r1)
6f37be4b1364ee Boqun Feng 2018-06-02 393 addi r3,r1,STACK_FRAME_OVERHEAD
6f37be4b1364ee Boqun Feng 2018-06-02 394 bl rseq_syscall
6f37be4b1364ee Boqun Feng 2018-06-02 395 lwz r3,GPR3(r1)
6f37be4b1364ee Boqun Feng 2018-06-02 396 #endif
9994a33865f4d5 Paul Mackerras 2005-10-10 397 mr r6,r3
9994a33865f4d5 Paul Mackerras 2005-10-10 398 /* disable interrupts so current_thread_info()->flags can't change */
ba18025fb03306 Christophe Leroy 2019-08-20 399 LOAD_REG_IMMEDIATE(r10,MSR_KERNEL) /* doesn't include MSR_EE */
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 400 /* Note: We don't bother telling lockdep about it */
9994a33865f4d5 Paul Mackerras 2005-10-10 401 SYNC
39bccfd1649705 Christophe Leroy 2019-12-21 402 mtmsr r10
f7354ccac844da Christophe Leroy 2019-01-31 403 lwz r9,TI_FLAGS(r2)
c3525940cca53c Michael Ellerman 2015-07-23 404 li r8,-MAX_ERRNO
10ea834364c867 Michael Ellerman 2015-01-15 405 andi. r0,r9,(_TIF_SYSCALL_DOTRACE|_TIF_SINGLESTEP|_TIF_USER_WORK_MASK|_TIF_PERSYSCALL_MASK)
9994a33865f4d5 Paul Mackerras 2005-10-10 406 bne- syscall_exit_work
401d1f029bebb7 David Woodhouse 2005-11-15 407 cmplw 0,r3,r8
401d1f029bebb7 David Woodhouse 2005-11-15 408 blt+ syscall_exit_cont
401d1f029bebb7 David Woodhouse 2005-11-15 409 lwz r11,_CCR(r1) /* Load CR */
401d1f029bebb7 David Woodhouse 2005-11-15 410 neg r3,r3
401d1f029bebb7 David Woodhouse 2005-11-15 411 oris r11,r11,0x1000 /* Set SO bit in CR */
401d1f029bebb7 David Woodhouse 2005-11-15 412 stw r11,_CCR(r1)
9994a33865f4d5 Paul Mackerras 2005-10-10 413 syscall_exit_cont:
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 414 lwz r8,_MSR(r1)
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 415 #ifdef CONFIG_TRACE_IRQFLAGS
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 416 /* If we are going to return from the syscall with interrupts
40530db7c65611 Christophe Leroy 2019-04-30 417 * off, we trace that here. It shouldn't normally happen.
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 418 */
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 419 andi. r10,r8,MSR_EE
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 420 bne+ 1f
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 421 stw r3,GPR3(r1)
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 422 bl trace_hardirqs_off
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 423 lwz r3,GPR3(r1)
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 424 1:
5d38902c483881 Benjamin Herrenschmidt 2009-06-17 425 #endif /* CONFIG_TRACE_IRQFLAGS */
9994a33865f4d5 Paul Mackerras 2005-10-10 426 #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
4eaddb4d7ec380 Kumar Gala 2008-04-09 427 /* If the process has its own DBCR0 value, load it up. The internal
4eaddb4d7ec380 Kumar Gala 2008-04-09 428 debug mode bit tells us that dbcr0 should be loaded. */
9994a33865f4d5 Paul Mackerras 2005-10-10 429 lwz r0,THREAD+THREAD_DBCR0(r2)
2325f0a0c3d76b Kumar Gala 2008-07-26 430 andis. r10,r0,DBCR0_IDM@h
9994a33865f4d5 Paul Mackerras 2005-10-10 431 bnel- load_dbcr0
9994a33865f4d5 Paul Mackerras 2005-10-10 432 #endif
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 433 #ifdef CONFIG_44x
e7f75ad01d5902 Dave Kleikamp 2010-03-05 434 BEGIN_MMU_FTR_SECTION
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 435 lis r4,icache_44x_need_flush@ha
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 436 lwz r5,icache_44x_need_flush@l(r4)
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 437 cmplwi cr0,r5,0
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 438 bne- 2f
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 439 1:
e7f75ad01d5902 Dave Kleikamp 2010-03-05 440 END_MMU_FTR_SECTION_IFCLR(MMU_FTR_TYPE_47x)
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 441 #endif /* CONFIG_44x */
b64f87c16f3c00 Becky Bruce 2007-11-10 442 BEGIN_FTR_SECTION
b64f87c16f3c00 Becky Bruce 2007-11-10 443 lwarx r7,0,r1
b64f87c16f3c00 Becky Bruce 2007-11-10 444 END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
9994a33865f4d5 Paul Mackerras 2005-10-10 445 stwcx. r0,0,r1 /* to clear the reservation */
f7354ccac844da Christophe Leroy 2019-01-31 446 ACCOUNT_CPU_USER_EXIT(r2, r5, r7)
31ed2b13c48d77 Christophe Leroy 2019-03-11 447 #ifdef CONFIG_PPC_BOOK3S_32
31ed2b13c48d77 Christophe Leroy 2019-03-11 448 kuep_unlock r5, r7
31ed2b13c48d77 Christophe Leroy 2019-03-11 449 #endif
e2fb9f5444312f Christophe Leroy 2019-03-11 @450 kuap_check r2, r4
9994a33865f4d5 Paul Mackerras 2005-10-10 451 lwz r4,_LINK(r1)
9994a33865f4d5 Paul Mackerras 2005-10-10 452 lwz r5,_CCR(r1)
9994a33865f4d5 Paul Mackerras 2005-10-10 453 mtlr r4
9994a33865f4d5 Paul Mackerras 2005-10-10 454 mtcr r5
9994a33865f4d5 Paul Mackerras 2005-10-10 455 lwz r7,_NIP(r1)
9994a33865f4d5 Paul Mackerras 2005-10-10 456 lwz r2,GPR2(r1)
9994a33865f4d5 Paul Mackerras 2005-10-10 457 lwz r1,GPR1(r1)
cd99ddbea250ee Christophe Leroy 2018-01-12 458 #if defined(CONFIG_PPC_8xx) && defined(CONFIG_PERF_EVENTS)
75b824727680a9 Christophe Leroy 2016-12-15 459 mtspr SPRN_NRI, r0
75b824727680a9 Christophe Leroy 2016-12-15 460 #endif
9994a33865f4d5 Paul Mackerras 2005-10-10 461 mtspr SPRN_SRR0,r7
9994a33865f4d5 Paul Mackerras 2005-10-10 462 mtspr SPRN_SRR1,r8
9994a33865f4d5 Paul Mackerras 2005-10-10 463 SYNC
9994a33865f4d5 Paul Mackerras 2005-10-10 464 RFI
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 465 #ifdef CONFIG_44x
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 466 2: li r7,0
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 467 iccci r0,r0
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 468 stw r7,icache_44x_need_flush@l(r4)
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 469 b 1b
b98ac05d5e4603 Benjamin Herrenschmidt 2007-10-31 470 #endif /* CONFIG_44x */
9994a33865f4d5 Paul Mackerras 2005-10-10 471

:::::: The code at line 450 was first introduced by commit
:::::: e2fb9f5444312fd01627c84a3e018c1fe8ac6ebb powerpc/32: Prepare for Kernel Userspace Access Protection

:::::: TO: Christophe Leroy <christophe.leroy@xxxxxx>
:::::: CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip