Hi Olga, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on nfs/linux-next] [also build test WARNING on v5.13-rc4 next-20210602] [cannot apply to nfsd/nfsd-next] [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] url: https://github.com/0day-ci/linux/commits/Olga-Kornievskaia/create-sysfs-files-for-changing-IP-address/20210602-061025 base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next config: x86_64-randconfig-s021-20210603 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://github.com/0day-ci/linux/commit/587333d27097360f103c2eaa1bf836d1b4c5e5c5 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Olga-Kornievskaia/create-sysfs-files-for-changing-IP-address/20210602-061025 git checkout 587333d27097360f103c2eaa1bf836d1b4c5e5c5 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> net/sunrpc/sysfs.c:118:9: sparse: sparse: incompatible types in comparison expression (different address spaces): >> net/sunrpc/sysfs.c:118:9: sparse: char const [noderef] __rcu * >> net/sunrpc/sysfs.c:118:9: sparse: char const * vim +118 net/sunrpc/sysfs.c 84 85 static ssize_t rpc_sysfs_xprt_dstaddr_store(struct kobject *kobj, 86 struct kobj_attribute *attr, 87 const char *buf, size_t count) 88 { 89 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); 90 struct sockaddr *saddr; 91 char *dst_addr; 92 int port; 93 struct xprt_addr *saved_addr; 94 95 if (!xprt) 96 return 0; 97 if (!(xprt->xprt_class->ident == XPRT_TRANSPORT_TCP || 98 xprt->xprt_class->ident == XPRT_TRANSPORT_RDMA)) { 99 xprt_put(xprt); 100 return -EOPNOTSUPP; 101 } 102 103 if (wait_on_bit_lock(&xprt->state, XPRT_LOCKED, TASK_KILLABLE)) { 104 count = -EINTR; 105 goto out_put; 106 } 107 saddr = (struct sockaddr *)&xprt->addr; 108 port = rpc_get_port(saddr); 109 110 dst_addr = kstrndup(buf, count - 1, GFP_KERNEL); 111 if (!dst_addr) 112 goto out_err; 113 saved_addr = kzalloc(sizeof(*saved_addr), GFP_KERNEL); 114 if (!saved_addr) 115 goto out_err_free; 116 saved_addr->addr = 117 rcu_dereference_raw(xprt->address_strings[RPC_DISPLAY_ADDR]); > 118 rcu_assign_pointer(xprt->address_strings[RPC_DISPLAY_ADDR], dst_addr); 119 call_rcu(&saved_addr->rcu, free_xprt_addr); 120 xprt->addrlen = rpc_pton(xprt->xprt_net, buf, count - 1, saddr, 121 sizeof(*saddr)); 122 rpc_set_port(saddr, port); 123 124 xprt_force_disconnect(xprt); 125 out: 126 xprt_release_write(xprt, NULL); 127 out_put: 128 xprt_put(xprt); 129 return count; 130 out_err_free: 131 kfree(dst_addr); 132 out_err: 133 count = -ENOMEM; 134 goto out; 135 } 136 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org