arch/csky/kernel/probes/decode-insn.c:19:31: sparse: sparse: cast to restricted __le32

From: kernel test robot
Date: Thu Apr 29 2021 - 10:58:44 EST


Hi Julian,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d72cd4ad4174cfd2257c426ad51e4f53bcfde9c9
commit: 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08 lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
date: 3 weeks ago
config: csky-randconfig-s031-20210429 (attached as .config)
compiler: csky-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-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=csky

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


sparse warnings: (new ones prefixed by >>)
>> arch/csky/kernel/probes/decode-insn.c:19:31: sparse: sparse: cast to restricted __le32
--
>> arch/csky/kernel/probes/kprobes.c:32:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
arch/csky/kernel/probes/kprobes.c:32:31: sparse: expected unsigned short [usertype]
arch/csky/kernel/probes/kprobes.c:32:31: sparse: got restricted __le16 [usertype]
>> arch/csky/kernel/probes/kprobes.c:86:21: sparse: sparse: cast to restricted __le32

vim +19 arch/csky/kernel/probes/decode-insn.c

33e53ae1ce413a Guo Ren 2020-04-01 11
33e53ae1ce413a Guo Ren 2020-04-01 12 /* Return:
33e53ae1ce413a Guo Ren 2020-04-01 13 * INSN_REJECTED If instruction is one not allowed to kprobe,
33e53ae1ce413a Guo Ren 2020-04-01 14 * INSN_GOOD_NO_SLOT If instruction is supported but doesn't use its slot.
33e53ae1ce413a Guo Ren 2020-04-01 15 */
33e53ae1ce413a Guo Ren 2020-04-01 16 enum probe_insn __kprobes
33e53ae1ce413a Guo Ren 2020-04-01 17 csky_probe_decode_insn(probe_opcode_t *addr, struct arch_probe_insn *api)
33e53ae1ce413a Guo Ren 2020-04-01 18 {
33e53ae1ce413a Guo Ren 2020-04-01 @19 probe_opcode_t insn = le32_to_cpu(*addr);

:::::: The code at line 19 was first introduced by commit
:::::: 33e53ae1ce413a081254e686d9b27cc1b3585e2f csky: Add kprobes supported

:::::: TO: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
:::::: CC: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip