From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0383847666795950893==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [lee-linaro:google/android-3.18-queue 74/586] net/rxrpc/ar-key.c:1188:25: sparse: sparse: incorrect type in argument 1 (different address spaces) Date: Thu, 24 Dec 2020 04:29:56 +0800 Message-ID: <202012240453.OLaQkx5I-lkp@intel.com> List-Id: --===============0383847666795950893== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.linaro.org/people/lee.jones/linux.git google/android-3.= 18-queue head: 0a7aab07b4f62b5083f2589e71ff60029240254e commit: b0b3266cbcbe8f9b81cb9b5b1e6cf656e774fc5c [74/586] rxrpc: Fix rxkad = token xdr encoding config: parisc-randconfig-s032-20201221 (attached as .config) compiler: hppa-linux-gcc (GCC) 5.5.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-184-g1b896707-dirty git remote add lee-linaro https://git.linaro.org/people/lee.jones/l= inux.git git fetch --no-tags lee-linaro google/android-3.18-queue git checkout b0b3266cbcbe8f9b81cb9b5b1e6cf656e774fc5c # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-5.5.0 make.cross = C=3D1 CF=3D'-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=3Dparisc = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot "sparse warnings: (new ones prefixed by >>)" >> net/rxrpc/ar-key.c:1188:25: sparse: sparse: incorrect type in argument 1= (different address spaces) @@ expected void *dest @@ got restricte= d __be32 [noderef] [usertype] *[assigned] xdr @@ net/rxrpc/ar-key.c:1188:25: sparse: expected void *dest net/rxrpc/ar-key.c:1188:25: sparse: got restricted __be32 [noderef] = [usertype] *[assigned] xdr net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '= ' of expression In file included from arch/parisc/include/asm/bug.h:92:0, from include/linux/bug.h:4, from include/linux/thread_info.h:11, from include/asm-generic/preempt.h:4, from arch/parisc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:18, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from net/rxrpc/ar-key.c:15: include/linux/cpumask.h: In function 'cpumask_check': include/linux/cpumask.h:116:19: warning: comparison between signed and u= nsigned integer expressions [-Wsign-compare] WARN_ON_ONCE(cpu >=3D nr_cpumask_bits); ^ include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_= ONCE' int __ret_warn_once =3D !!(condition); 23- = ^ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/module.h:9, from net/rxrpc/ar-key.c:15: arch/parisc/include/asm/uaccess.h: In function 'copy_from_user': arch/parisc/include/asm/uaccess.h:251:63: warning: comparison between si= gned and unsigned integer expressions [-Wsign-compare] if (likely(sz =3D=3D -1 || !__builtin_constant_p(n) || sz >=3D = n)) ^ include/linux/compiler.h:175:40: note: in definition of macro 'likely' # define likely(x) __builtin_expect(!!(x), 1) ^ In file included from arch/parisc/include/asm/tlbflush.h:7:0, from arch/parisc/include/asm/cacheflush.h:6, from arch/parisc/include/asm/dma-mapping.h:5, from include/linux/dma-mapping.h:82, from include/linux/skbuff.h:32, from net/rxrpc/ar-key.c:17: include/linux/sched.h: At top level: include/linux/sched.h:1067:42: warning: type qualifiers ignored on funct= ion return type [-Wignored-qualifiers] const struct sched_group_energy * const(*sched_domain_energy_f)(int cpu= ); ^ In file included from net/rxrpc/ar-key.c:17:0: include/linux/skbuff.h: In function 'skb_can_coalesce': include/linux/skbuff.h:2528:14: warning: comparison between signed and u= nsigned integer expressions [-Wsign-compare] off =3D=3D frag->page_offset + skb_frag_size(frag); ^ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/module.h:9, from net/rxrpc/ar-key.c:15: include/linux/netdevice.h: In function 'get_netdev_rx_queue_index': include/linux/netdevice.h:2830:15: warning: comparison between signed an= d unsigned integer expressions [-Wsign-compare] BUG_ON(index >=3D dev->num_rx_queues); ^ include/linux/compiler.h:176:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ include/linux/netdevice.h:2830:2: note: in expansion of macro 'BUG_ON' BUG_ON(index >=3D dev->num_rx_queues); ^ In file included from include/net/sock.h:51:0, from net/rxrpc/ar-key.c:22: include/linux/netdevice.h: In function 'netif_msg_init': include/linux/netdevice.h:3101:37: warning: comparison between signed an= d unsigned integer expressions [-Wsign-compare] if (debug_value < 0 || debug_value >=3D (sizeof(u32) * 8)) ^ In file included from include/net/sock.h:63:0, from net/rxrpc/ar-key.c:22: include/linux/filter.h: In function 'bpf_needs_clear_a': include/linux/filter.h:444:16: warning: comparison between signed and un= signed integer expressions [-Wsign-compare] if (first->k =3D=3D SKF_AD_OFF + SKF_AD_ALU_XOR_X) ^ In file included from include/net/rtnetlink.h:5:0, from include/net/neighbour.h:29, from include/net/dst.h:17, from include/net/sock.h:68, from net/rxrpc/ar-key.c:22: include/net/netlink.h: In function 'nlmsg_ok': include/net/netlink.h:334:18: warning: comparison between signed and uns= igned integer expressions [-Wsign-compare] nlh->nlmsg_len <=3D remaining); ^ include/net/netlink.h: In function 'nlmsg_parse': include/net/netlink.h:369:21: warning: comparison between signed and uns= igned integer expressions [-Wsign-compare] if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen)) ^ include/net/netlink.h: In function 'nlmsg_validate': include/net/netlink.h:402:21: warning: comparison between signed and uns= igned integer expressions [-Wsign-compare] if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen)) ^ In file included from include/net/neighbour.h:29:0, vim +1188 net/rxrpc/ar-key.c 1129 = 1130 if (!buffer || buflen < size) 1131 return size; 1132 = 1133 xdr =3D (__be32 __user *) buffer; 1134 zero =3D 0; 1135 #define ENCODE(x) \ 1136 do { \ 1137 __be32 y =3D htonl(x); \ 1138 if (put_user(y, xdr++) < 0) \ 1139 goto fault; \ 1140 } while(0) 1141 #define ENCODE_DATA(l, s) \ 1142 do { \ 1143 u32 _l =3D (l); \ 1144 ENCODE(l); \ 1145 if (copy_to_user(xdr, (s), _l) !=3D 0) \ 1146 goto fault; \ 1147 if (_l & 3 && \ 1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) !=3D = 0) \ 1149 goto fault; \ 1150 xdr +=3D (_l + 3) >> 2; \ 1151 } while(0) 1152 #define ENCODE_BYTES(l, s) \ 1153 do { \ 1154 u32 _l =3D (l); \ 1155 memcpy(xdr, (s), _l); \ 1156 if (_l & 3) \ 1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \ 1158 xdr +=3D (_l + 3) >> 2; \ 1159 } while(0) 1160 #define ENCODE64(x) \ 1161 do { \ 1162 __be64 y =3D cpu_to_be64(x); \ 1163 if (copy_to_user(xdr, &y, 8) !=3D 0) \ 1164 goto fault; \ 1165 xdr +=3D 8 >> 2; \ 1166 } while(0) 1167 #define ENCODE_STR(s) \ 1168 do { \ 1169 const char *_s =3D (s); \ 1170 ENCODE_DATA(strlen(_s), _s); \ 1171 } while(0) 1172 = 1173 ENCODE(0); /* flags */ 1174 ENCODE_DATA(cnlen, key->description + 4); /* cellname */ 1175 ENCODE(ntoks); 1176 = 1177 tok =3D 0; 1178 for (token =3D key->payload.data; token; token =3D token->next) { 1179 toksize =3D toksizes[tok++]; 1180 ENCODE(toksize); 1181 oldxdr =3D xdr; 1182 ENCODE(token->security_index); 1183 = 1184 switch (token->security_index) { 1185 case RXRPC_SECURITY_RXKAD: 1186 ENCODE(token->kad->vice_id); 1187 ENCODE(token->kad->kvno); > 1188 ENCODE_BYTES(8, token->kad->session_key); 1189 ENCODE(token->kad->start); 1190 ENCODE(token->kad->expiry); 1191 ENCODE(token->kad->primary_flag); 1192 ENCODE_DATA(token->kad->ticket_len, token->kad->ticket); 1193 break; 1194 = 1195 case RXRPC_SECURITY_RXK5: 1196 princ =3D &token->k5->client; 1197 ENCODE(princ->n_name_parts); 1198 for (loop =3D 0; loop < princ->n_name_parts; loop++) 1199 ENCODE_STR(princ->name_parts[loop]); 1200 ENCODE_STR(princ->realm); 1201 = 1202 princ =3D &token->k5->server; 1203 ENCODE(princ->n_name_parts); 1204 for (loop =3D 0; loop < princ->n_name_parts; loop++) 1205 ENCODE_STR(princ->name_parts[loop]); 1206 ENCODE_STR(princ->realm); 1207 = 1208 ENCODE(token->k5->session.tag); 1209 ENCODE_DATA(token->k5->session.data_len, 1210 token->k5->session.data); 1211 = 1212 ENCODE64(token->k5->authtime); 1213 ENCODE64(token->k5->starttime); 1214 ENCODE64(token->k5->endtime); 1215 ENCODE64(token->k5->renew_till); 1216 ENCODE(token->k5->is_skey); 1217 ENCODE(token->k5->flags); 1218 = 1219 ENCODE(token->k5->n_addresses); 1220 for (loop =3D 0; loop < token->k5->n_addresses; loop++) { 1221 ENCODE(token->k5->addresses[loop].tag); 1222 ENCODE_DATA(token->k5->addresses[loop].data_len, 1223 token->k5->addresses[loop].data); 1224 } 1225 = 1226 ENCODE_DATA(token->k5->ticket_len, token->k5->ticket); 1227 ENCODE_DATA(token->k5->ticket2_len, token->k5->ticket2); 1228 = 1229 ENCODE(token->k5->n_authdata); 1230 for (loop =3D 0; loop < token->k5->n_authdata; loop++) { 1231 ENCODE(token->k5->authdata[loop].tag); 1232 ENCODE_DATA(token->k5->authdata[loop].data_len, 1233 token->k5->authdata[loop].data); 1234 } 1235 break; 1236 = 1237 default: 1238 BUG(); 1239 break; 1240 } 1241 = 1242 ASSERTCMP((unsigned long)xdr - (unsigned long)oldxdr, =3D=3D, 1243 toksize); 1244 } 1245 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============0383847666795950893== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============0383847666795950893==--