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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 1 Oct 2022 13:03:24 +0800
From:   kernel test robot <lkp@...el.com>
To:     Janis Schoetterl-Glausch <scgl@...ux.ibm.com>,
        Christian Borntraeger <borntraeger@...ux.ibm.com>,
        Janosch Frank <frankja@...ux.ibm.com>,
        Claudio Imbrenda <imbrenda@...ux.ibm.com>,
        Heiko Carstens <hca@...ux.ibm.com>,
        Vasily Gorbik <gor@...ux.ibm.com>,
        Alexander Gordeev <agordeev@...ux.ibm.com>
Cc:     kbuild-all@...ts.01.org,
        Janis Schoetterl-Glausch <scgl@...ux.ibm.com>,
        David Hildenbrand <david@...hat.com>,
        Jonathan Corbet <corbet@....net>, kvm@...r.kernel.org,
        linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
        linux-kselftest@...r.kernel.org, linux-s390@...r.kernel.org,
        Paolo Bonzini <pbonzini@...hat.com>,
        Shuah Khan <skhan@...uxfoundation.org>,
        Sven Schnelle <svens@...ux.ibm.com>
Subject: Re: [PATCH v1 2/9] KVM: s390: Extend MEM_OP ioctl by storage key
 checked cmpxchg

Hi Janis,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on f76349cf41451c5c42a99f18a9163377e4b364ff]

url:    https://github.com/intel-lab-lkp/linux/commits/Janis-Schoetterl-Glausch/KVM-s390-Extend-MEM_OP-ioctl-by-storage-key-checked-cmpxchg/20221001-050945
base:   f76349cf41451c5c42a99f18a9163377e4b364ff
config: s390-randconfig-m031-20220925
compiler: s390-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://github.com/intel-lab-lkp/linux/commit/b53d129604de03147fce1d353698f961b256f895
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Janis-Schoetterl-Glausch/KVM-s390-Extend-MEM_OP-ioctl-by-storage-key-checked-cmpxchg/20221001-050945
        git checkout b53d129604de03147fce1d353698f961b256f895
        # 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=s390 SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

   arch/s390/include/asm/uaccess.h: Assembler messages:
>> arch/s390/include/asm/uaccess.h:430: Error: Unrecognized opcode: `xrk'
   arch/s390/include/asm/uaccess.h:434: Error: Unrecognized opcode: `xrk'


vim +430 arch/s390/include/asm/uaccess.h

110a6dbb2eca6b Heiko Carstens           2020-09-14  394  
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  395  static __always_inline int __cmpxchg_user_key_small(int size, u64 address,
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  396  						    unsigned __int128 *old_p,
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  397  						    unsigned __int128 new, u8 access_key)
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  398  {
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  399  	u32 shift, mask, old_word, new_word, align_mask, tmp, diff;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  400  	u64 aligned;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  401  	int ret = -EFAULT;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  402  
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  403  	switch (size) {
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  404  	case 2:
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  405  		align_mask = 2;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  406  		aligned = (address ^ (address & align_mask));
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  407  		shift = (sizeof(u32) - (address & align_mask) - size) * 8;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  408  		mask = 0xffff << shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  409  		old_word = ((u16)*old_p) << shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  410  		new_word = ((u16)new) << shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  411  		break;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  412  	case 1:
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  413  		align_mask = 3;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  414  		aligned = (address ^ (address & align_mask));
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  415  		shift = (sizeof(u32) - (address & align_mask) - size) * 8;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  416  		mask = 0xff << shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  417  		old_word = ((u8)*old_p) << shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  418  		new_word = ((u8)new) << shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  419  		break;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  420  	}
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  421  	asm volatile(
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  422  		       "spka	0(%[access_key])\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  423  		"	sacf	256\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  424  		"0:	l	%[tmp],%[aligned]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  425  		"1:	nr	%[tmp],%[hole_mask]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  426  		"	or	%[new_word],%[tmp]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  427  		"	or	%[old_word],%[tmp]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  428  		"	lr	%[tmp],%[old_word]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  429  		"2:	cs	%[tmp],%[new_word],%[aligned]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30 @430  		"3:	jnl	4f\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  431  		"	xrk	%[diff],%[tmp],%[old_word]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  432  		"	nr	%[diff],%[hole_mask]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  433  		"	xr	%[new_word],%[diff]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  434  		"	xr	%[old_word],%[diff]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  435  		"	xrk	%[diff],%[tmp],%[old_word]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  436  		"	jz	2b\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  437  		"4:	ipm	%[ret]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  438  		"	srl	%[ret],28\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  439  		"5:	sacf	768\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  440  		"	spka	%[default_key]\n"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  441  		EX_TABLE(0b, 5b) EX_TABLE(1b, 5b)
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  442  		EX_TABLE(2b, 5b) EX_TABLE(3b, 5b)
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  443  		: [old_word] "+&d" (old_word),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  444  		  [new_word] "+&d" (new_word),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  445  		  [tmp] "=&d" (tmp),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  446  		  [aligned] "+Q" (*(u32 *)aligned),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  447  		  [diff] "=&d" (diff),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  448  		  [ret] "+d" (ret)
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  449  		: [access_key] "a" (access_key << 4),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  450  		  [hole_mask] "d" (~mask),
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  451  		  [default_key] "J" (PAGE_DEFAULT_KEY)
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  452  		: "cc"
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  453  	);
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  454  	*old_p = (tmp & mask) >> shift;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  455  	return ret;
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  456  }
db6f2eb3910899 Janis Schoetterl-Glausch 2022-09-30  457  

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

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

Powered by blists - more mailing lists