tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.9
head: 91bcc1f20a7d6d0b432ac5e99448bcfd95399cd5
commit: fa1c8371b76bda5f35f417cff96ebbc37283e19d [48/52] rxrpc: Fix rxkad token xdr
encoding
config: c6x-randconfig-s031-20201012 (attached as .config)
compiler: c6x-elf-gcc (GCC) 7.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.2-229-g0c6896f4-dirty
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable queue-4.9
git checkout fa1c8371b76bda5f35f417cff96ebbc37283e19d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=c6x
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
net/rxrpc/key.c:1163:9: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1163:9: sparse: expected void *__p
net/rxrpc/key.c:1163:9: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1163:9: sparse: sparse: incorrect type in argument 1 (different address
spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1163:9: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1163:9: sparse: got restricted __be32 *
net/rxrpc/key.c:1163:9: sparse: sparse: incorrect type in argument 2 (different address
spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted __be32 *
@@
net/rxrpc/key.c:1163:9: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1163:9: sparse: got restricted __be32 *
net/rxrpc/key.c:1164:9: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1164:9: sparse: expected void *__p
net/rxrpc/key.c:1164:9: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1164:9: sparse: sparse: incorrect type in argument 1 (different address
spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1164:9: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1164:9: sparse: got restricted __be32 *
net/rxrpc/key.c:1164:9: sparse: sparse: incorrect type in argument 2 (different address
spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted __be32 *
@@
net/rxrpc/key.c:1164:9: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1164:9: sparse: got restricted __be32 *
net/rxrpc/key.c:1165:9: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1165:9: sparse: expected void *__p
net/rxrpc/key.c:1165:9: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1165:9: sparse: sparse: incorrect type in argument 1 (different address
spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1165:9: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1165:9: sparse: got restricted __be32 *
net/rxrpc/key.c:1165:9: sparse: sparse: incorrect type in argument 2 (different address
spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted __be32 *
@@
net/rxrpc/key.c:1165:9: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1165:9: sparse: got restricted __be32 *
net/rxrpc/key.c:1170:17: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1170:17: sparse: expected void *__p
net/rxrpc/key.c:1170:17: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1170:17: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1170:17: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1170:17: sparse: got restricted __be32 *
net/rxrpc/key.c:1170:17: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1170:17: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1170:17: sparse: got restricted __be32 *
net/rxrpc/key.c:1172:17: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1172:17: sparse: expected void *__p
net/rxrpc/key.c:1172:17: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1172:17: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1172:17: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1172:17: sparse: got restricted __be32 *
net/rxrpc/key.c:1172:17: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1172:17: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1172:17: sparse: got restricted __be32 *
net/rxrpc/key.c:1176:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1176:25: sparse: expected void *__p
net/rxrpc/key.c:1176:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1176:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1176:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1176:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1176:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1176:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1176:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1177:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1177:25: sparse: expected void *__p
net/rxrpc/key.c:1177:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1177:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1177:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1177:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1177:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1177:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1177:25: sparse: got restricted __be32 *
> net/rxrpc/key.c:1178: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/key.c:1178:25: sparse: expected void *to
> net/rxrpc/key.c:1178:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *[assigned] xdr
> net/rxrpc/key.c:1178:25: sparse: sparse: cast removes address space
'<asn:1>' of expression
net/rxrpc/key.c:1179:25: sparse: sparse:
incorrect type in initializer (different address spaces) @@ expected void *__p @@
got restricted __be32 [noderef] [usertype] <asn:1> * @@
net/rxrpc/key.c:1179:25: sparse: expected void *__p
net/rxrpc/key.c:1179:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1179:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1179:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1179:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1179:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1179:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1179:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1180:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1180:25: sparse: expected void *__p
net/rxrpc/key.c:1180:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1180:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1180:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1180:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1180:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1180:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1180:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1181:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1181:25: sparse: expected void *__p
net/rxrpc/key.c:1181:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1181:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1181:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1181:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1181:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1181:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1181:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1182:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1182:25: sparse: expected void *__p
net/rxrpc/key.c:1182:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1182:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1182:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1182:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1182:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1182:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1182:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1187:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1187:25: sparse: expected void *__p
net/rxrpc/key.c:1187:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1187:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1187:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1187:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1187:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1187:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1187:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1189:33: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1189:33: sparse: expected void *__p
net/rxrpc/key.c:1189:33: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1189:33: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1189:33: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1189:33: sparse: got restricted __be32 *
net/rxrpc/key.c:1189:33: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1189:33: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1189:33: sparse: got restricted __be32 *
net/rxrpc/key.c:1190:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1190:25: sparse: expected void *__p
net/rxrpc/key.c:1190:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1190:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1190:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1190:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1190:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1190:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1190:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1193:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1193:25: sparse: expected void *__p
net/rxrpc/key.c:1193:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1193:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1193:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1193:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1193:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1193:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1193:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1195:33: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1195:33: sparse: expected void *__p
net/rxrpc/key.c:1195:33: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1195:33: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1195:33: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1195:33: sparse: got restricted __be32 *
net/rxrpc/key.c:1195:33: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1195:33: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1195:33: sparse: got restricted __be32 *
net/rxrpc/key.c:1196:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1196:25: sparse: expected void *__p
net/rxrpc/key.c:1196:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1196:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1196:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1196:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1196:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1196:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1196:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1198:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
net/rxrpc/key.c:1198:25: sparse: expected void *__p
net/rxrpc/key.c:1198:25: sparse: got restricted __be32 [noderef] [usertype]
<asn:1> *
net/rxrpc/key.c:1198:25: sparse: sparse: incorrect type in argument 1 (different
address spaces) @@ expected void const volatile [noderef] <asn:1> * @@ got
restricted __be32 * @@
net/rxrpc/key.c:1198:25: sparse: expected void const volatile [noderef]
<asn:1> *
net/rxrpc/key.c:1198:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1198:25: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected void [noderef] <asn:1> *ptr @@ got restricted
__be32 * @@
net/rxrpc/key.c:1198:25: sparse: expected void [noderef] <asn:1> *ptr
net/rxrpc/key.c:1198:25: sparse: got restricted __be32 *
net/rxrpc/key.c:1199:25: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected void *__p @@ got restricted __be32 [noderef]
[usertype] <asn:1> * @@
vim +1178 net/rxrpc/key.c
1119
1120 if (!buffer || buflen < size)
1121 return size;
1122
1123 xdr = (__be32 __user *) buffer;
1124 zero = 0;
1125 #define ENCODE(x) \
1126 do { \
1127 __be32 y = htonl(x); \
1128 if (put_user(y, xdr++) < 0) \
1129 goto fault; \
1130 } while(0)
1131 #define ENCODE_DATA(l, s) \
1132 do { \
1133 u32 _l = (l); \
1134 ENCODE(l); \
1135 if (copy_to_user(xdr, (s), _l) != 0) \
1136 goto fault; \
1137 if (_l & 3 && \
1138 copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
1139 goto fault; \
1140 xdr += (_l + 3) >> 2; \
1141 } while(0)
1142 #define ENCODE_BYTES(l, s) \
1143 do { \
1144 u32 _l = (l); \
1145 memcpy(xdr, (s), _l); \
1146 if (_l & 3) \
1147 memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \
1148 xdr += (_l + 3) >> 2; \
1149 } while(0)
1150 #define ENCODE64(x) \
1151 do { \
1152 __be64 y = cpu_to_be64(x); \
1153 if (copy_to_user(xdr, &y, 8) != 0) \
1154 goto fault; \
1155 xdr += 8 >> 2; \
1156 } while(0)
1157 #define ENCODE_STR(s) \
1158 do { \
1159 const char *_s = (s); \
1160 ENCODE_DATA(strlen(_s), _s); \
1161 } while(0)
1162
1163 ENCODE(0); /* flags */
1164 ENCODE_DATA(cnlen, key->description + 4); /* cellname */
1165 ENCODE(ntoks);
1166
1167 tok = 0;
1168 for (token = key->payload.data[0]; token; token = token->next) {
1169 toksize = toksizes[tok++];
1170 ENCODE(toksize);
1171 oldxdr = xdr;
1172 ENCODE(token->security_index);
1173
1174 switch (token->security_index) {
1175 case RXRPC_SECURITY_RXKAD:
1176 ENCODE(token->kad->vice_id);
1177 ENCODE(token->kad->kvno);
1178 ENCODE_BYTES(8, token->kad->session_key);
1179 ENCODE(token->kad->start);
1180 ENCODE(token->kad->expiry);
1181 ENCODE(token->kad->primary_flag);
1182 ENCODE_DATA(token->kad->ticket_len, token->kad->ticket);
1183 break;
1184
1185 case RXRPC_SECURITY_RXK5:
1186 princ = &token->k5->client;
1187 ENCODE(princ->n_name_parts);
1188 for (loop = 0; loop < princ->n_name_parts; loop++)
1189 ENCODE_STR(princ->name_parts[loop]);
1190 ENCODE_STR(princ->realm);
1191
1192 princ = &token->k5->server;
1193 ENCODE(princ->n_name_parts);
1194 for (loop = 0; loop < princ->n_name_parts; loop++)
1195 ENCODE_STR(princ->name_parts[loop]);
1196 ENCODE_STR(princ->realm);
1197
1198 ENCODE(token->k5->session.tag);
1199 ENCODE_DATA(token->k5->session.data_len,
1200 token->k5->session.data);
1201
1202 ENCODE64(token->k5->authtime);
1203 ENCODE64(token->k5->starttime);
1204 ENCODE64(token->k5->endtime);
1205 ENCODE64(token->k5->renew_till);
1206 ENCODE(token->k5->is_skey);
1207 ENCODE(token->k5->flags);
1208
1209 ENCODE(token->k5->n_addresses);
1210 for (loop = 0; loop < token->k5->n_addresses; loop++) {
1211 ENCODE(token->k5->addresses[loop].tag);
1212 ENCODE_DATA(token->k5->addresses[loop].data_len,
1213 token->k5->addresses[loop].data);
1214 }
1215
1216 ENCODE_DATA(token->k5->ticket_len, token->k5->ticket);
1217 ENCODE_DATA(token->k5->ticket2_len, token->k5->ticket2);
1218
1219 ENCODE(token->k5->n_authdata);
1220 for (loop = 0; loop < token->k5->n_authdata; loop++) {
1221 ENCODE(token->k5->authdata[loop].tag);
1222 ENCODE_DATA(token->k5->authdata[loop].data_len,
1223 token->k5->authdata[loop].data);
1224 }
1225 break;
1226
1227 default:
1228 BUG();
1229 break;
1230 }
1231
1232 ASSERTCMP((unsigned long)xdr - (unsigned long)oldxdr, ==,
1233 toksize);
1234 }
1235
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org