From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2156394451407889972==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [mips-linux:mips-next 73/76] arch/mips/kernel/unaligned.c:127:34: sparse: sparse: incorrect type in argument 2 (different address spaces) Date: Wed, 07 Apr 2021 03:53:18 +0800 Message-ID: <202104070312.63B9jzU5-lkp@intel.com> List-Id: --===============2156394451407889972== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git mips= -next head: 7f028bff8a8e55a783eeb12e50bb3f5f18804459 commit: 45deb5faeb9e02951361ceba5ffee721745661c3 [73/76] MIPS: uaccess: Rem= ove get_fs/set_fs call sites config: mips-randconfig-s032-20210406 (attached as .config) compiler: mips64-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 # apt-get install sparse # sparse version: v0.6.3-279-g6d5d9b42-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/co= mmit/?id=3D45deb5faeb9e02951361ceba5ffee721745661c3 git remote add mips-linux https://git.kernel.org/pub/scm/linux/kern= el/git/mips/linux.git git fetch --no-tags mips-linux mips-next git checkout 45deb5faeb9e02951361ceba5ffee721745661c3 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = C=3D1 CF=3D'-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=3Dmips = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) command-line: note: in included file: builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefin= ed builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefin= ed builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefin= ed builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefin= ed builtin:0:0: sparse: this was the original definition >> arch/mips/kernel/unaligned.c:127:34: sparse: sparse: incorrect type in a= rgument 2 (different address spaces) @@ expected unsigned int [usertype= ] *p @@ got unsigned int [noderef] __user *pc @@ arch/mips/kernel/unaligned.c:127:34: sparse: expected unsigned int [= usertype] *p arch/mips/kernel/unaligned.c:127:34: sparse: got unsigned int [noder= ef] __user *pc arch/mips/kernel/unaligned.c:1475:17: sparse: sparse: symbol 'do_ade' wa= s not declared. Should it be static? arch/mips/kernel/unaligned.c: note: in included file: >> arch/mips/kernel/access-helper.h:17:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned int const= [noderef] __user *__gu_ptr @@ got unsigned int [usertype] *p @@ arch/mips/kernel/access-helper.h:17:23: sparse: expected unsigned in= t const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:17:23: sparse: got unsigned int [us= ertype] *p -- command-line: note: in included file: builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefin= ed builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefin= ed builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefin= ed builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefin= ed builtin:0:0: sparse: this was the original definition arch/mips/kernel/traps.c:519:14: sparse: sparse: symbol 'll_bit' was not= declared. Should it be static? arch/mips/kernel/traps.c:520:20: sparse: sparse: symbol 'll_task' was no= t declared. Should it be static? arch/mips/kernel/traps.c:746:17: sparse: sparse: symbol 'do_ov' was not = declared. Should it be static? arch/mips/kernel/traps.c:1023:17: sparse: sparse: symbol 'do_bp' was not= declared. Should it be static? arch/mips/kernel/traps.c:1110:17: sparse: sparse: symbol 'do_tr' was not= declared. Should it be static? arch/mips/kernel/traps.c:1174:47: sparse: sparse: incorrect type in argu= ment 2 (different address spaces) @@ expected void [noderef] __user *fa= ult_addr @@ got unsigned long * @@ arch/mips/kernel/traps.c:1174:47: sparse: expected void [noderef] __= user *fault_addr arch/mips/kernel/traps.c:1174:47: sparse: got unsigned long * arch/mips/kernel/traps.c:1147:17: sparse: sparse: symbol 'do_ri' was not= declared. Should it be static? arch/mips/kernel/traps.c:1398:17: sparse: sparse: symbol 'do_cpu' was no= t declared. Should it be static? arch/mips/kernel/traps.c:1503:17: sparse: sparse: symbol 'do_msa_fpe' wa= s not declared. Should it be static? arch/mips/kernel/traps.c:1523:17: sparse: sparse: symbol 'do_msa' was no= t declared. Should it be static? arch/mips/kernel/traps.c:1544:17: sparse: sparse: symbol 'do_mdmx' was n= ot declared. Should it be static? arch/mips/kernel/traps.c:1556:17: sparse: sparse: symbol 'do_watch' was = not declared. Should it be static? arch/mips/kernel/traps.c:1583:17: sparse: sparse: symbol 'do_mcheck' was= not declared. Should it be static? arch/mips/kernel/traps.c:1608:17: sparse: sparse: symbol 'do_mt' was not= declared. Should it be static? arch/mips/kernel/traps.c:1644:17: sparse: sparse: symbol 'do_dsp' was no= t declared. Should it be static? arch/mips/kernel/traps.c:1652:17: sparse: sparse: symbol 'do_reserved' w= as not declared. Should it be static? arch/mips/kernel/traps.c:1876:17: sparse: sparse: symbol 'do_ftlb' was n= ot declared. Should it be static? arch/mips/kernel/traps.c:1905:17: sparse: sparse: symbol 'do_gsexc' was = not declared. Should it be static? arch/mips/kernel/traps.c:2002:15: sparse: sparse: symbol 'vi_handlers' w= as not declared. Should it be static? arch/mips/kernel/traps.c: note: in included file: >> arch/mips/kernel/access-helper.h:7:23: sparse: sparse: incorrect type in= initializer (different address spaces) @@ expected unsigned long const= [noderef] __user *__gu_ptr @@ got unsigned long *p @@ arch/mips/kernel/access-helper.h:7:23: sparse: expected unsigned lon= g const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:7:23: sparse: got unsigned long *p >> arch/mips/kernel/access-helper.h:7:23: sparse: sparse: incorrect type in= initializer (different address spaces) @@ expected unsigned long const= [noderef] __user *__gu_ptr @@ got unsigned long *p @@ arch/mips/kernel/access-helper.h:7:23: sparse: expected unsigned lon= g const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:7:23: sparse: got unsigned long *p >> arch/mips/kernel/access-helper.h:12:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned short con= st [noderef] __user *__gu_ptr @@ got unsigned short [usertype] *p @@ arch/mips/kernel/access-helper.h:12:23: sparse: expected unsigned sh= ort const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:12:23: sparse: got unsigned short [= usertype] *p >> arch/mips/kernel/access-helper.h:17:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned int const= [noderef] __user *__gu_ptr @@ got unsigned int [usertype] *p @@ arch/mips/kernel/access-helper.h:17:23: sparse: expected unsigned in= t const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:17:23: sparse: got unsigned int [us= ertype] *p >> arch/mips/kernel/access-helper.h:12:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned short con= st [noderef] __user *__gu_ptr @@ got unsigned short [usertype] *p @@ arch/mips/kernel/access-helper.h:12:23: sparse: expected unsigned sh= ort const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:12:23: sparse: got unsigned short [= usertype] *p >> arch/mips/kernel/access-helper.h:12:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned short con= st [noderef] __user *__gu_ptr @@ got unsigned short [usertype] *p @@ arch/mips/kernel/access-helper.h:12:23: sparse: expected unsigned sh= ort const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:12:23: sparse: got unsigned short [= usertype] *p >> arch/mips/kernel/access-helper.h:17:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned int const= [noderef] __user *__gu_ptr @@ got unsigned int [usertype] *p @@ arch/mips/kernel/access-helper.h:17:23: sparse: expected unsigned in= t const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:17:23: sparse: got unsigned int [us= ertype] *p >> arch/mips/kernel/access-helper.h:12:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned short con= st [noderef] __user *__gu_ptr @@ got unsigned short [usertype] *p @@ arch/mips/kernel/access-helper.h:12:23: sparse: expected unsigned sh= ort const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:12:23: sparse: got unsigned short [= usertype] *p >> arch/mips/kernel/access-helper.h:12:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned short con= st [noderef] __user *__gu_ptr @@ got unsigned short [usertype] *p @@ arch/mips/kernel/access-helper.h:12:23: sparse: expected unsigned sh= ort const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:12:23: sparse: got unsigned short [= usertype] *p >> arch/mips/kernel/access-helper.h:17:23: sparse: sparse: incorrect type i= n initializer (different address spaces) @@ expected unsigned int const= [noderef] __user *__gu_ptr @@ got unsigned int [usertype] *p @@ arch/mips/kernel/access-helper.h:17:23: sparse: expected unsigned in= t const [noderef] __user *__gu_ptr arch/mips/kernel/access-helper.h:17:23: sparse: got unsigned int [us= ertype] *p arch/mips/kernel/traps.c: note: in included file (through arch/mips/incl= ude/asm/mips-cps.h): arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:151:1: sparse: got void * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:151:1: sparse: got void * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:151:1: sparse: got void * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:151:1: sparse: got void * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:151:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:151:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:151:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:151:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:151:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:151:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 2 (different address spaces) @@ expected void volatile [noder= ef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void volatil= e [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 2 (different address spaces) @@ expected void volatile [noder= ef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void volatil= e [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 2 (different address spaces) @@ expected void volatile [noder= ef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void volatil= e [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 2 (different address spaces) @@ expected void volatile [noder= ef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void volatil= e [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= argument 1 (different address spaces) @@ expected void const volatile = [noderef] __iomem *mem @@ got void * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void const v= olatile [noderef] __iomem *mem arch/mips/include/asm/mips-cm.h:165:1: sparse: got void * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * arch/mips/include/asm/mips-cm.h:165:1: sparse: sparse: incorrect type in= return expression (different address spaces) @@ expected void * @@ = got void [noderef] __iomem * @@ arch/mips/include/asm/mips-cm.h:165:1: sparse: expected void * arch/mips/include/asm/mips-cm.h:165:1: sparse: got void [noderef] __= iomem * vim +127 arch/mips/kernel/unaligned.c 110 = 111 static void emulate_load_store_insn(struct pt_regs *regs, 112 void __user *addr, unsigned int __user *pc) 113 { 114 unsigned long origpc, orig31, value; 115 union mips_instruction insn; 116 unsigned int res; 117 bool user =3D user_mode(regs); 118 = 119 origpc =3D (unsigned long)pc; 120 orig31 =3D regs->regs[31]; 121 = 122 perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, regs, 0); 123 = 124 /* 125 * This load never faults. 126 */ > 127 __get_inst32(&insn.word, pc, user); 128 = 129 switch (insn.i_format.opcode) { 130 /* 131 * These are instructions that a compiler doesn't generate. We 132 * can assume therefore that the code is MIPS-aware and 133 * really buggy. Emulating these instructions would break the 134 * semantics anyway. 135 */ 136 case ll_op: 137 case lld_op: 138 case sc_op: 139 case scd_op: 140 = 141 /* 142 * For these instructions the only way to create an address 143 * error is an attempted access to kernel/supervisor address 144 * space. 145 */ 146 case ldl_op: 147 case ldr_op: 148 case lwl_op: 149 case lwr_op: 150 case sdl_op: 151 case sdr_op: 152 case swl_op: 153 case swr_op: 154 case lb_op: 155 case lbu_op: 156 case sb_op: 157 goto sigbus; 158 = 159 /* 160 * The remaining opcodes are the ones that are really of 161 * interest. 162 */ 163 case spec3_op: 164 if (insn.dsp_format.func =3D=3D lx_op) { 165 switch (insn.dsp_format.op) { 166 case lwx_op: 167 if (user && !access_ok(addr, 4)) 168 goto sigbus; 169 LoadW(addr, value, res); 170 if (res) 171 goto fault; 172 compute_return_epc(regs); 173 regs->regs[insn.dsp_format.rd] =3D value; 174 break; 175 case lhx_op: 176 if (user && !access_ok(addr, 2)) 177 goto sigbus; 178 LoadHW(addr, value, res); 179 if (res) 180 goto fault; 181 compute_return_epc(regs); 182 regs->regs[insn.dsp_format.rd] =3D value; 183 break; 184 default: 185 goto sigill; 186 } 187 } 188 #ifdef CONFIG_EVA 189 else { 190 /* 191 * we can land here only from kernel accessing user 192 * memory, so we need to "switch" the address limit to 193 * user space, so that address check can work properly. 194 */ 195 switch (insn.spec3_format.func) { 196 case lhe_op: 197 if (!access_ok(addr, 2)) 198 goto sigbus; 199 LoadHWE(addr, value, res); 200 if (res) 201 goto fault; 202 compute_return_epc(regs); 203 regs->regs[insn.spec3_format.rt] =3D value; 204 break; 205 case lwe_op: 206 if (!access_ok(addr, 4)) 207 goto sigbus; 208 LoadWE(addr, value, res); 209 if (res) 210 goto fault; 211 compute_return_epc(regs); 212 regs->regs[insn.spec3_format.rt] =3D value; 213 break; 214 case lhue_op: 215 if (!access_ok(addr, 2)) 216 goto sigbus; 217 LoadHWUE(addr, value, res); 218 if (res) 219 goto fault; 220 compute_return_epc(regs); 221 regs->regs[insn.spec3_format.rt] =3D value; 222 break; 223 case she_op: 224 if (!access_ok(addr, 2)) 225 goto sigbus; 226 compute_return_epc(regs); 227 value =3D regs->regs[insn.spec3_format.rt]; 228 StoreHWE(addr, value, res); 229 if (res) 230 goto fault; 231 break; 232 case swe_op: 233 if (!access_ok(addr, 4)) 234 goto sigbus; 235 compute_return_epc(regs); 236 value =3D regs->regs[insn.spec3_format.rt]; 237 StoreWE(addr, value, res); 238 if (res) 239 goto fault; 240 break; 241 default: 242 goto sigill; 243 } 244 } 245 #endif 246 break; 247 case lh_op: 248 if (user && !access_ok(addr, 2)) 249 goto sigbus; 250 = 251 if (IS_ENABLED(CONFIG_EVA) && user) 252 LoadHWE(addr, value, res); 253 else 254 LoadHW(addr, value, res); 255 = 256 if (res) 257 goto fault; 258 compute_return_epc(regs); 259 regs->regs[insn.i_format.rt] =3D value; 260 break; 261 = 262 case lw_op: 263 if (user && !access_ok(addr, 4)) 264 goto sigbus; 265 = 266 if (IS_ENABLED(CONFIG_EVA) && user) 267 LoadWE(addr, value, res); 268 else 269 LoadW(addr, value, res); 270 = 271 if (res) 272 goto fault; 273 compute_return_epc(regs); 274 regs->regs[insn.i_format.rt] =3D value; 275 break; 276 = 277 case lhu_op: 278 if (user && !access_ok(addr, 2)) 279 goto sigbus; 280 = 281 if (IS_ENABLED(CONFIG_EVA) && user) 282 LoadHWUE(addr, value, res); 283 else 284 LoadHWU(addr, value, res); 285 = 286 if (res) 287 goto fault; 288 compute_return_epc(regs); 289 regs->regs[insn.i_format.rt] =3D value; 290 break; 291 = 292 case lwu_op: 293 #ifdef CONFIG_64BIT 294 /* 295 * A 32-bit kernel might be running on a 64-bit processor. But 296 * if we're on a 32-bit processor and an i-cache incoherency 297 * or race makes us see a 64-bit instruction here the sdl/sdr 298 * would blow up, so for now we don't handle unaligned 64-bit 299 * instructions on 32-bit kernels. 300 */ 301 if (user && !access_ok(addr, 4)) 302 goto sigbus; 303 = 304 LoadWU(addr, value, res); 305 if (res) 306 goto fault; 307 compute_return_epc(regs); 308 regs->regs[insn.i_format.rt] =3D value; 309 break; 310 #endif /* CONFIG_64BIT */ 311 = 312 /* Cannot handle 64-bit instructions in 32-bit kernel */ 313 goto sigill; 314 = 315 case ld_op: 316 #ifdef CONFIG_64BIT 317 /* 318 * A 32-bit kernel might be running on a 64-bit processor. But 319 * if we're on a 32-bit processor and an i-cache incoherency 320 * or race makes us see a 64-bit instruction here the sdl/sdr 321 * would blow up, so for now we don't handle unaligned 64-bit 322 * instructions on 32-bit kernels. 323 */ 324 if (user && !access_ok(addr, 8)) 325 goto sigbus; 326 = 327 LoadDW(addr, value, res); 328 if (res) 329 goto fault; 330 compute_return_epc(regs); 331 regs->regs[insn.i_format.rt] =3D value; 332 break; 333 #endif /* CONFIG_64BIT */ 334 = 335 /* Cannot handle 64-bit instructions in 32-bit kernel */ 336 goto sigill; 337 = 338 case sh_op: 339 if (user && !access_ok(addr, 2)) 340 goto sigbus; 341 = 342 compute_return_epc(regs); 343 value =3D regs->regs[insn.i_format.rt]; 344 = 345 if (IS_ENABLED(CONFIG_EVA) && user) 346 StoreHWE(addr, value, res); 347 else 348 StoreHW(addr, value, res); 349 = 350 if (res) 351 goto fault; 352 break; 353 = 354 case sw_op: 355 if (user && !access_ok(addr, 4)) 356 goto sigbus; 357 = 358 compute_return_epc(regs); 359 value =3D regs->regs[insn.i_format.rt]; 360 = 361 if (IS_ENABLED(CONFIG_EVA) && user) 362 StoreWE(addr, value, res); 363 else 364 StoreW(addr, value, res); 365 = 366 if (res) 367 goto fault; 368 break; 369 = 370 case sd_op: 371 #ifdef CONFIG_64BIT 372 /* 373 * A 32-bit kernel might be running on a 64-bit processor. But 374 * if we're on a 32-bit processor and an i-cache incoherency 375 * or race makes us see a 64-bit instruction here the sdl/sdr 376 * would blow up, so for now we don't handle unaligned 64-bit 377 * instructions on 32-bit kernels. 378 */ 379 if (user && !access_ok(addr, 8)) 380 goto sigbus; 381 = 382 compute_return_epc(regs); 383 value =3D regs->regs[insn.i_format.rt]; 384 StoreDW(addr, value, res); 385 if (res) 386 goto fault; 387 break; 388 #endif /* CONFIG_64BIT */ 389 = 390 /* Cannot handle 64-bit instructions in 32-bit kernel */ 391 goto sigill; 392 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============2156394451407889972== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============2156394451407889972==--