Re: [PATCH] rpmsg_ns: Work around TI non-standard message

From: kernel test robot
Date: Sat Oct 12 2024 - 11:54:21 EST


Hi Richard,

kernel test robot noticed the following build warnings:

[auto build test WARNING on remoteproc/rpmsg-next]
[also build test WARNING on linus/master v6.12-rc2 next-20241011]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Richard-Weinberger/rpmsg_ns-Work-around-TI-non-standard-message/20241011-204122
base: https://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rpmsg-next
patch link: https://lore.kernel.org/r/20241011123922.23135-1-richard%40nod.at
patch subject: [PATCH] rpmsg_ns: Work around TI non-standard message
config: x86_64-randconfig-121-20241012 (https://download.01.org/0day-ci/archive/20241012/202410122348.irTWFe4S-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241012/202410122348.irTWFe4S-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410122348.irTWFe4S-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/rpmsg/rpmsg_ns.c:55:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __rpmsg32 [assigned] [usertype] ns_addr @@ got unsigned int [usertype] addr @@
drivers/rpmsg/rpmsg_ns.c:55:25: sparse: expected restricted __rpmsg32 [assigned] [usertype] ns_addr
drivers/rpmsg/rpmsg_ns.c:55:25: sparse: got unsigned int [usertype] addr
>> drivers/rpmsg/rpmsg_ns.c:56:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __rpmsg32 [assigned] [usertype] ns_flags @@ got unsigned int [usertype] flags @@
drivers/rpmsg/rpmsg_ns.c:56:26: sparse: expected restricted __rpmsg32 [assigned] [usertype] ns_flags
drivers/rpmsg/rpmsg_ns.c:56:26: sparse: got unsigned int [usertype] flags

vim +55 drivers/rpmsg/rpmsg_ns.c

45
46 if (len == sizeof(struct rpmsg_ns_msg)) {
47 struct rpmsg_ns_msg *msg = data;
48
49 ns_addr = msg->addr;
50 ns_flags = msg->flags;
51 ns_name = msg->name;
52 } else if (len == sizeof(struct __rpmsg_ns_msg_ti)) {
53 struct __rpmsg_ns_msg_ti *msg = data;
54
> 55 ns_addr = msg->addr;
> 56 ns_flags = msg->flags;
57 ns_name = msg->name;
58 dev_warn(dev, "non-standard ns msg found\n");
59 } else {
60 dev_err(dev, "malformed ns msg (%d)\n", len);
61 return -EINVAL;
62 }
63
64 /* don't trust the remote processor for null terminating the name */
65 ns_name[RPMSG_NAME_SIZE - 1] = '\0';
66
67 strscpy_pad(chinfo.name, ns_name, sizeof(chinfo.name));
68 chinfo.src = RPMSG_ADDR_ANY;
69 chinfo.dst = rpmsg32_to_cpu(rpdev, ns_addr);
70
71 dev_info(dev, "%sing channel %s addr 0x%x\n",
72 rpmsg32_to_cpu(rpdev, ns_flags) & RPMSG_NS_DESTROY ?
73 "destroy" : "creat", ns_name, chinfo.dst);
74
75 if (rpmsg32_to_cpu(rpdev, ns_flags) & RPMSG_NS_DESTROY) {
76 ret = rpmsg_release_channel(rpdev, &chinfo);
77 if (ret)
78 dev_err(dev, "rpmsg_destroy_channel failed: %d\n", ret);
79 } else {
80 newch = rpmsg_create_channel(rpdev, &chinfo);
81 if (!newch)
82 dev_err(dev, "rpmsg_create_channel failed\n");
83 }
84
85 return 0;
86 }
87

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki