[PATCH v4 9/9] powerpc/64s: Implement KUAP for Radix MMU

kbuild test robot lkp at intel.com
Fri Mar 1 06:43:02 AEDT 2019


Hi Russell,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[cannot apply to v5.0-rc8 next-20190228]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Michael-Ellerman/powerpc-powernv-idle-Restore-IAMR-after-idle/20190228-235025
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-ppc64e_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.2.0 make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/kernel/entry_64.S: Assembler messages:
>> arch/powerpc/kernel/entry_64.S:279: Error: unrecognized opcode: `kuap_check_amr'
>> arch/powerpc/kernel/entry_64.S:317: Error: unrecognized opcode: `kuap_restore_amr'
   arch/powerpc/kernel/entry_64.S:606: Error: unrecognized opcode: `kuap_check_amr'

vim +279 arch/powerpc/kernel/entry_64.S

   250	
   251		ld	r9,TI_FLAGS(r12)
   252		li	r11,-MAX_ERRNO
   253		andi.	r0,r9,(_TIF_SYSCALL_DOTRACE|_TIF_SINGLESTEP|_TIF_USER_WORK_MASK|_TIF_PERSYSCALL_MASK)
   254		bne-	.Lsyscall_exit_work
   255	
   256		andi.	r0,r8,MSR_FP
   257		beq 2f
   258	#ifdef CONFIG_ALTIVEC
   259		andis.	r0,r8,MSR_VEC at h
   260		bne	3f
   261	#endif
   262	2:	addi    r3,r1,STACK_FRAME_OVERHEAD
   263		bl	restore_math
   264		ld	r8,_MSR(r1)
   265		ld	r3,RESULT(r1)
   266		li	r11,-MAX_ERRNO
   267	
   268	3:	cmpld	r3,r11
   269		ld	r5,_CCR(r1)
   270		bge-	.Lsyscall_error
   271	.Lsyscall_error_cont:
   272		ld	r7,_NIP(r1)
   273	BEGIN_FTR_SECTION
   274		stdcx.	r0,0,r1			/* to clear the reservation */
   275	END_FTR_SECTION_IFCLR(CPU_FTR_STCX_CHECKS_ADDRESS)
   276		andi.	r6,r8,MSR_PR
   277		ld	r4,_LINK(r1)
   278	
 > 279		kuap_check_amr r11
   280	
   281	#ifdef CONFIG_PPC_BOOK3S
   282		/*
   283		 * Clear MSR_RI, MSR_EE is already and remains disabled. We could do
   284		 * this later, but testing shows that doing it here causes less slow
   285		 * down than doing it closer to the rfid.
   286		 */
   287		li	r11,0
   288		mtmsrd	r11,1
   289	#endif
   290	
   291		beq-	1f
   292		ACCOUNT_CPU_USER_EXIT(r13, r11, r12)
   293	
   294	BEGIN_FTR_SECTION
   295		HMT_MEDIUM_LOW
   296	END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)
   297	
   298	#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
   299		std	r8, PACATMSCRATCH(r13)
   300	#endif
   301	
   302		/*
   303		 * We don't need to restore AMR on the way back to userspace for KUAP.
   304		 * The value of AMR only matters while we're in the kernel.
   305		 */
   306		ld	r13,GPR13(r1)	/* only restore r13 if returning to usermode */
   307		ld	r2,GPR2(r1)
   308		ld	r1,GPR1(r1)
   309		mtlr	r4
   310		mtcr	r5
   311		mtspr	SPRN_SRR0,r7
   312		mtspr	SPRN_SRR1,r8
   313		RFI_TO_USER
   314		b	.	/* prevent speculative execution */
   315	
   316	1:	/* exit to kernel */
 > 317		kuap_restore_amr r2
   318	
   319		ld	r2,GPR2(r1)
   320		ld	r1,GPR1(r1)
   321		mtlr	r4
   322		mtcr	r5
   323		mtspr	SPRN_SRR0,r7
   324		mtspr	SPRN_SRR1,r8
   325		RFI_TO_KERNEL
   326		b	.	/* prevent speculative execution */
   327	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 16151 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20190301/adff91a7/attachment-0001.gz>


More information about the Linuxppc-dev mailing list