afs: Better tracing of protocol errors
Include the site of detection of AFS protocol errors in trace lines to better be able to determine what went wrong. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -451,7 +451,8 @@ again:
|
||||
call->count2 = ntohl(*bp); /* Type or next count */
|
||||
|
||||
if (call->count > YFS_MAXENDPOINTS)
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_fsendpt_num);
|
||||
|
||||
alist = afs_alloc_addrlist(call->count, FS_SERVICE, AFS_FS_PORT);
|
||||
if (!alist)
|
||||
@@ -475,7 +476,8 @@ again:
|
||||
size = sizeof(__be32) * (1 + 4 + 1);
|
||||
break;
|
||||
default:
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_fsendpt_type);
|
||||
}
|
||||
|
||||
size += sizeof(__be32);
|
||||
@@ -488,18 +490,21 @@ again:
|
||||
switch (call->count2) {
|
||||
case YFS_ENDPOINT_IPV4:
|
||||
if (ntohl(bp[0]) != sizeof(__be32) * 2)
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_fsendpt4_len);
|
||||
afs_merge_fs_addr4(alist, bp[1], ntohl(bp[2]));
|
||||
bp += 3;
|
||||
break;
|
||||
case YFS_ENDPOINT_IPV6:
|
||||
if (ntohl(bp[0]) != sizeof(__be32) * 5)
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_fsendpt6_len);
|
||||
afs_merge_fs_addr6(alist, bp + 1, ntohl(bp[5]));
|
||||
bp += 6;
|
||||
break;
|
||||
default:
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_fsendpt_type);
|
||||
}
|
||||
|
||||
/* Got either the type of the next entry or the count of
|
||||
@@ -518,7 +523,8 @@ again:
|
||||
if (!call->count)
|
||||
goto end;
|
||||
if (call->count > YFS_MAXENDPOINTS)
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_vlendpt_type);
|
||||
|
||||
call->unmarshall = 3;
|
||||
|
||||
@@ -546,7 +552,8 @@ again:
|
||||
size = sizeof(__be32) * (1 + 4 + 1);
|
||||
break;
|
||||
default:
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_vlendpt_type);
|
||||
}
|
||||
|
||||
if (call->count > 1)
|
||||
@@ -559,16 +566,19 @@ again:
|
||||
switch (call->count2) {
|
||||
case YFS_ENDPOINT_IPV4:
|
||||
if (ntohl(bp[0]) != sizeof(__be32) * 2)
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_vlendpt4_len);
|
||||
bp += 3;
|
||||
break;
|
||||
case YFS_ENDPOINT_IPV6:
|
||||
if (ntohl(bp[0]) != sizeof(__be32) * 5)
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_vlendpt6_len);
|
||||
bp += 6;
|
||||
break;
|
||||
default:
|
||||
return afs_protocol_error(call, -EBADMSG);
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_yvl_vlendpt_type);
|
||||
}
|
||||
|
||||
/* Got either the type of the next entry or the count of
|
||||
|
Reference in New Issue
Block a user