* [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)
@ 2020-12-25 13:49 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-25 13:49 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-25 15:00 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-25 15:00 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [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)
2020-12-24 7:35 ` Lee Jones
@ 2020-12-25 14:39 ` Philip Li
0 siblings, 0 replies; 13+ messages in thread
From: Philip Li @ 2020-12-25 14:39 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1617 bytes --]
On Thu, Dec 24, 2020 at 07:35:07AM +0000, Lee Jones wrote:
> On Thu, 24 Dec 2020, kernel test robot wrote:
>
> > 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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
>
> Please don't test this branch. It's almost always broken.
Got it, we will ignore the test of this branch.
>
> --
> Lee Jones [李琼斯]
> Senior Technical Lead - Developer Services
> Linaro.org │ Open source software for Arm SoCs
> Follow Linaro: Facebook | Twitter | Blog
> _______________________________________________
> kbuild-all mailing list -- kbuild-all(a)lists.01.org
> To unsubscribe send an email to kbuild-all-leave(a)lists.01.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-25 1:41 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-25 1:41 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-24 14:12 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-24 14:12 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [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)
2020-12-24 3:19 kernel test robot
@ 2020-12-24 7:35 ` Lee Jones
2020-12-25 14:39 ` Philip Li
0 siblings, 1 reply; 13+ messages in thread
From: Lee Jones @ 2020-12-24 7:35 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]
On Thu, 24 Dec 2020, kernel test robot wrote:
> 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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
Please don't test this branch. It's almost always broken.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-24 3:19 kernel test robot
2020-12-24 7:35 ` Lee Jones
0 siblings, 1 reply; 13+ messages in thread
From: kernel test robot @ 2020-12-24 3:19 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-23 23:25 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-23 23:25 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-23 22:14 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-23 22:14 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-23 20:29 kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2020-12-23 20:29 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 11546 bytes --]
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/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 restricted __be32 [noderef] [usertype] <asn:1> *[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] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' 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 unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(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 signed and unsigned integer expressions [-Wsign-compare]
if (likely(sz == -1 || !__builtin_constant_p(n) || sz >= 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 function 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 unsigned integer expressions [-Wsign-compare]
off == 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 and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= 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 >= 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 and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (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 unsigned integer expressions [-Wsign-compare]
if (first->k == 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 unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:369:21: warning: comparison between signed and unsigned 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 unsigned 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 = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 19151 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [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)
2020-12-03 7:35 ` Lee Jones
@ 2020-12-03 8:49 ` Chen, Rong A
0 siblings, 0 replies; 13+ messages in thread
From: Chen, Rong A @ 2020-12-03 8:49 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 24320 bytes --]
Thanks for the feedback, we'll ignore this branch.
Best Regards,
Rong Chen
On 12/3/2020 3:35 PM, Lee Jones wrote:
> Please don't test this branch. It will be continuously broken.
>
> On Thu, 3 Dec 2020 at 02:18, kernel test robot <lkp@intel.com
> <mailto:lkp@intel.com>> wrote:
>
> 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: sh-randconfig-s031-20201202 (attached as .config)
> compiler: sh4-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-179-ga00755aa-dirty
> git remote add lee-linaro
> https://git.linaro.org/people/lee.jones/linux.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=$HOME/0day COMPILER=gcc-5.5.0
> make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com <mailto:lkp@intel.com>>
>
>
> "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 *__to @@
> got restricted __be32 [noderef] [usertype] <asn:1> *[assigned]
> xdr @@
> net/rxrpc/ar-key.c:1188:25: sparse: expected void *__to
> net/rxrpc/ar-key.c:1188:25: sparse: got restricted __be32
> [noderef] [usertype] <asn:1> *[assigned] xdr
> net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address
> space '<asn:1>' of expression
> net/rxrpc/ar-key.c: note: in included file (through
> include/net/checksum.h, include/linux/skbuff.h):
> arch/sh/include/asm/uaccess.h:154:47: sparse: sparse: incorrect
> type in argument 2 (different address spaces) @@ expected void
> const *from @@ got void const [noderef] <asn:1> *from @@
> arch/sh/include/asm/uaccess.h:154:47: sparse: expected void
> const *from
> arch/sh/include/asm/uaccess.h:154:47: sparse: got void const
> [noderef] <asn:1> *from
> arch/sh/include/asm/uaccess.h:154:47: sparse: sparse: incorrect
> type in argument 2 (different address spaces) @@ expected void
> const *from @@ got void const [noderef] <asn:1> *from @@
> arch/sh/include/asm/uaccess.h:154:47: sparse: expected void
> const *from
> arch/sh/include/asm/uaccess.h:154:47: sparse: got void const
> [noderef] <asn:1> *from
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect
> type in argument 1 (different address spaces) @@ expected void
> *to @@ got void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void
> [noderef] <asn:1> *to
> cc1: warning: arch/sh/include/cpu-sh2a: No such file or
> directory [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-sh2: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-common: No such file or
> directory [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/mach-common: No such file or
> directory [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-sh2a: No such file or
> directory [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-sh2: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-common: No such file or
> directory [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/mach-common: No such file or
> directory [-Wmissing-include-dirs]
> 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 unsigned integer expressions [-Wsign-compare]
> off == frag->page_offset + skb_frag_size(frag);
>
> vim +1188 net/rxrpc/ar-key.c
>
> 1129
> 1130 if (!buffer || buflen < size)
> 1131 return size;
> 1132
> 1133 xdr = (__be32 __user *) buffer;
> 1134 zero = 0;
> 1135 #define ENCODE(x) \
> 1136 do { \
> 1137 __be32 y = 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 = (l);
> \
> 1144 ENCODE(l);
> \
> 1145 if (copy_to_user(xdr, (s), _l) != 0)
> \
> 1146 goto fault;
> \
> 1147 if (_l & 3 &&
> \
> 1148 copy_to_user((u8 __user *)xdr + _l,
> &zero, 4 - (_l & 3)) != 0) \
> 1149 goto fault;
> \
> 1150 xdr += (_l + 3) >> 2;
> \
> 1151 } while(0)
> 1152 #define ENCODE_BYTES(l, s)
> \
> 1153 do {
> \
> 1154 u32 _l = (l);
> \
> 1155 memcpy(xdr, (s), _l);
> \
> 1156 if (_l & 3)
> \
> 1157 memcpy((u8 *)xdr + _l, &zero, 4 -
> (_l & 3)); \
> 1158 xdr += (_l + 3) >> 2;
> \
> 1159 } while(0)
> 1160 #define ENCODE64(x) \
> 1161 do { \
> 1162 __be64 y = cpu_to_be64(x); \
> 1163 if (copy_to_user(xdr, &y, 8) != 0) \
> 1164 goto fault; \
> 1165 xdr += 8 >> 2; \
> 1166 } while(0)
> 1167 #define ENCODE_STR(s) \
> 1168 do { \
> 1169 const char *_s = (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 = 0;
> 1178 for (token = key->payload.data; token; token =
> token->next) {
> 1179 toksize = toksizes[tok++];
> 1180 ENCODE(toksize);
> 1181 oldxdr = 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 = &token->k5->client;
> 1197 ENCODE(princ->n_name_parts);
> 1198 for (loop = 0; loop <
> princ->n_name_parts; loop++)
> 1199
> ENCODE_STR(princ->name_parts[loop]);
> 1200 ENCODE_STR(princ->realm);
> 1201
> 1202 princ = &token->k5->server;
> 1203 ENCODE(princ->n_name_parts);
> 1204 for (loop = 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 = 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 = 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, ==,
> 1243 toksize);
> 1244 }
> 1245
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
>
>
>
> --
> Lee Jones [李琼斯]
> Linaro Services Senior Technical Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog
>
> _______________________________________________
> kbuild-all mailing list -- kbuild-all(a)lists.01.org
> To unsubscribe send an email to kbuild-all-leave(a)lists.01.org
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [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)
2020-12-03 2:18 kernel test robot
@ 2020-12-03 7:35 ` Lee Jones
2020-12-03 8:49 ` Chen, Rong A
0 siblings, 1 reply; 13+ messages in thread
From: Lee Jones @ 2020-12-03 7:35 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 19426 bytes --]
Please don't test this branch. It will be continuously broken.
On Thu, 3 Dec 2020 at 02:18, kernel test robot <lkp@intel.com> wrote:
> 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: sh-randconfig-s031-20201202 (attached as .config)
> compiler: sh4-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-179-ga00755aa-dirty
> git remote add lee-linaro
> https://git.linaro.org/people/lee.jones/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1
> CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> "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 *__to @@ got
> restricted __be32 [noderef] [usertype] <asn:1> *[assigned] xdr @@
> net/rxrpc/ar-key.c:1188:25: sparse: expected void *__to
> net/rxrpc/ar-key.c:1188:25: sparse: got restricted __be32 [noderef]
> [usertype] <asn:1> *[assigned] xdr
> net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space
> '<asn:1>' of expression
> net/rxrpc/ar-key.c: note: in included file (through
> include/net/checksum.h, include/linux/skbuff.h):
> arch/sh/include/asm/uaccess.h:154:47: sparse: sparse: incorrect type in
> argument 2 (different address spaces) @@ expected void const *from @@
> got void const [noderef] <asn:1> *from @@
> arch/sh/include/asm/uaccess.h:154:47: sparse: expected void const
> *from
> arch/sh/include/asm/uaccess.h:154:47: sparse: got void const
> [noderef] <asn:1> *from
> arch/sh/include/asm/uaccess.h:154:47: sparse: sparse: incorrect type in
> argument 2 (different address spaces) @@ expected void const *from @@
> got void const [noderef] <asn:1> *from @@
> arch/sh/include/asm/uaccess.h:154:47: sparse: expected void const
> *from
> arch/sh/include/asm/uaccess.h:154:47: sparse: got void const
> [noderef] <asn:1> *from
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in
> argument 1 (different address spaces) @@ expected void *to @@ got
> void [noderef] <asn:1> *to @@
> arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
> arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef]
> <asn:1> *to
> cc1: warning: arch/sh/include/cpu-sh2a: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-sh2: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-common: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/mach-common: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-sh2a: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-sh2: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/cpu-common: No such file or directory
> [-Wmissing-include-dirs]
> cc1: warning: arch/sh/include/mach-common: No such file or directory
> [-Wmissing-include-dirs]
> 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
> unsigned integer expressions [-Wsign-compare]
> off == frag->page_offset + skb_frag_size(frag);
>
> vim +1188 net/rxrpc/ar-key.c
>
> 1129
> 1130 if (!buffer || buflen < size)
> 1131 return size;
> 1132
> 1133 xdr = (__be32 __user *) buffer;
> 1134 zero = 0;
> 1135 #define ENCODE(x) \
> 1136 do { \
> 1137 __be32 y = 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 = (l);
> \
> 1144 ENCODE(l);
> \
> 1145 if (copy_to_user(xdr, (s), _l) != 0)
> \
> 1146 goto fault;
> \
> 1147 if (_l & 3 &&
> \
> 1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 -
> (_l & 3)) != 0) \
> 1149 goto fault;
> \
> 1150 xdr += (_l + 3) >> 2;
> \
> 1151 } while(0)
> 1152 #define ENCODE_BYTES(l, s)
> \
> 1153 do {
> \
> 1154 u32 _l = (l);
> \
> 1155 memcpy(xdr, (s), _l);
> \
> 1156 if (_l & 3)
> \
> 1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l &
> 3)); \
> 1158 xdr += (_l + 3) >> 2;
> \
> 1159 } while(0)
> 1160 #define ENCODE64(x) \
> 1161 do { \
> 1162 __be64 y = cpu_to_be64(x); \
> 1163 if (copy_to_user(xdr, &y, 8) != 0) \
> 1164 goto fault; \
> 1165 xdr += 8 >> 2; \
> 1166 } while(0)
> 1167 #define ENCODE_STR(s) \
> 1168 do { \
> 1169 const char *_s = (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 = 0;
> 1178 for (token = key->payload.data; token; token =
> token->next) {
> 1179 toksize = toksizes[tok++];
> 1180 ENCODE(toksize);
> 1181 oldxdr = 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 = &token->k5->client;
> 1197 ENCODE(princ->n_name_parts);
> 1198 for (loop = 0; loop < princ->n_name_parts;
> loop++)
> 1199
> ENCODE_STR(princ->name_parts[loop]);
> 1200 ENCODE_STR(princ->realm);
> 1201
> 1202 princ = &token->k5->server;
> 1203 ENCODE(princ->n_name_parts);
> 1204 for (loop = 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 = 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 = 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, ==,
> 1243 toksize);
> 1244 }
> 1245
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
>
--
Lee Jones [李琼斯]
Linaro Services Senior Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
[-- Attachment #2: attachment.htm --]
[-- Type: text/html, Size: 24446 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [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)
@ 2020-12-03 2:18 kernel test robot
2020-12-03 7:35 ` Lee Jones
0 siblings, 1 reply; 13+ messages in thread
From: kernel test robot @ 2020-12-03 2:18 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 16436 bytes --]
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: sh-randconfig-s031-20201202 (attached as .config)
compiler: sh4-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-179-ga00755aa-dirty
git remote add lee-linaro https://git.linaro.org/people/lee.jones/linux.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=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"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 *__to @@ got restricted __be32 [noderef] [usertype] <asn:1> *[assigned] xdr @@
net/rxrpc/ar-key.c:1188:25: sparse: expected void *__to
net/rxrpc/ar-key.c:1188:25: sparse: got restricted __be32 [noderef] [usertype] <asn:1> *[assigned] xdr
net/rxrpc/ar-key.c:1188:25: sparse: sparse: cast removes address space '<asn:1>' of expression
net/rxrpc/ar-key.c: note: in included file (through include/net/checksum.h, include/linux/skbuff.h):
arch/sh/include/asm/uaccess.h:154:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] <asn:1> *from @@
arch/sh/include/asm/uaccess.h:154:47: sparse: expected void const *from
arch/sh/include/asm/uaccess.h:154:47: sparse: got void const [noderef] <asn:1> *from
arch/sh/include/asm/uaccess.h:154:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] <asn:1> *from @@
arch/sh/include/asm/uaccess.h:154:47: sparse: expected void const *from
arch/sh/include/asm/uaccess.h:154:47: sparse: got void const [noderef] <asn:1> *from
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
arch/sh/include/asm/uaccess.h:169:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] <asn:1> *to @@
arch/sh/include/asm/uaccess.h:169:36: sparse: expected void *to
arch/sh/include/asm/uaccess.h:169:36: sparse: got void [noderef] <asn:1> *to
cc1: warning: arch/sh/include/cpu-sh2a: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/cpu-sh2: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/cpu-common: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/mach-common: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/cpu-sh2a: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/cpu-sh2: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/cpu-common: No such file or directory [-Wmissing-include-dirs]
cc1: warning: arch/sh/include/mach-common: No such file or directory [-Wmissing-include-dirs]
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 unsigned integer expressions [-Wsign-compare]
off == frag->page_offset + skb_frag_size(frag);
vim +1188 net/rxrpc/ar-key.c
1129
1130 if (!buffer || buflen < size)
1131 return size;
1132
1133 xdr = (__be32 __user *) buffer;
1134 zero = 0;
1135 #define ENCODE(x) \
1136 do { \
1137 __be32 y = 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 = (l); \
1144 ENCODE(l); \
1145 if (copy_to_user(xdr, (s), _l) != 0) \
1146 goto fault; \
1147 if (_l & 3 && \
1148 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1149 goto fault; \
1150 xdr += (_l + 3) >> 2; \
1151 } while(0)
1152 #define ENCODE_BYTES(l, s) \
1153 do { \
1154 u32 _l = (l); \
1155 memcpy(xdr, (s), _l); \
1156 if (_l & 3) \
1157 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1158 xdr += (_l + 3) >> 2; \
1159 } while(0)
1160 #define ENCODE64(x) \
1161 do { \
1162 __be64 y = cpu_to_be64(x); \
1163 if (copy_to_user(xdr, &y, 8) != 0) \
1164 goto fault; \
1165 xdr += 8 >> 2; \
1166 } while(0)
1167 #define ENCODE_STR(s) \
1168 do { \
1169 const char *_s = (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 = 0;
1178 for (token = key->payload.data; token; token = token->next) {
1179 toksize = toksizes[tok++];
1180 ENCODE(toksize);
1181 oldxdr = 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 = &token->k5->client;
1197 ENCODE(princ->n_name_parts);
1198 for (loop = 0; loop < princ->n_name_parts; loop++)
1199 ENCODE_STR(princ->name_parts[loop]);
1200 ENCODE_STR(princ->realm);
1201
1202 princ = &token->k5->server;
1203 ENCODE(princ->n_name_parts);
1204 for (loop = 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 = 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 = 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, ==,
1243 toksize);
1244 }
1245
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 17312 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-12-25 15:00 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-25 13:49 [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) kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2020-12-25 15:00 kernel test robot
2020-12-25 1:41 kernel test robot
2020-12-24 14:12 kernel test robot
2020-12-24 3:19 kernel test robot
2020-12-24 7:35 ` Lee Jones
2020-12-25 14:39 ` Philip Li
2020-12-23 23:25 kernel test robot
2020-12-23 22:14 kernel test robot
2020-12-23 20:29 kernel test robot
2020-12-03 2:18 kernel test robot
2020-12-03 7:35 ` Lee Jones
2020-12-03 8:49 ` Chen, Rong A
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.