Commit 7126ead9 authored by David Howells's avatar David Howells

afs: Remove the error argument from afs_protocol_error()

Remove the error argument from afs_protocol_error() as it's always
-EBADMSG.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 38355eec
...@@ -307,8 +307,7 @@ static int afs_deliver_cb_callback(struct afs_call *call) ...@@ -307,8 +307,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("FID count: %u", call->count); _debug("FID count: %u", call->count);
if (call->count > AFSCBMAX) if (call->count > AFSCBMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_cb_fid_count);
afs_eproto_cb_fid_count);
call->buffer = kmalloc(array3_size(call->count, 3, 4), call->buffer = kmalloc(array3_size(call->count, 3, 4),
GFP_KERNEL); GFP_KERNEL);
...@@ -353,8 +352,7 @@ static int afs_deliver_cb_callback(struct afs_call *call) ...@@ -353,8 +352,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
call->count2 = ntohl(call->tmp); call->count2 = ntohl(call->tmp);
_debug("CB count: %u", call->count2); _debug("CB count: %u", call->count2);
if (call->count2 != call->count && call->count2 != 0) if (call->count2 != call->count && call->count2 != 0)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_cb_count);
afs_eproto_cb_count);
call->iter = &call->def_iter; call->iter = &call->def_iter;
iov_iter_discard(&call->def_iter, READ, call->count2 * 3 * 4); iov_iter_discard(&call->def_iter, READ, call->count2 * 3 * 4);
call->unmarshall++; call->unmarshall++;
...@@ -674,8 +672,7 @@ static int afs_deliver_yfs_cb_callback(struct afs_call *call) ...@@ -674,8 +672,7 @@ static int afs_deliver_yfs_cb_callback(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("FID count: %u", call->count); _debug("FID count: %u", call->count);
if (call->count > YFSCBMAX) if (call->count > YFSCBMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_cb_fid_count);
afs_eproto_cb_fid_count);
size = array_size(call->count, sizeof(struct yfs_xdr_YFSFid)); size = array_size(call->count, sizeof(struct yfs_xdr_YFSFid));
call->buffer = kmalloc(size, GFP_KERNEL); call->buffer = kmalloc(size, GFP_KERNEL);
......
...@@ -130,7 +130,7 @@ static void xdr_decode_AFSFetchStatus(const __be32 **_bp, ...@@ -130,7 +130,7 @@ static void xdr_decode_AFSFetchStatus(const __be32 **_bp,
bad: bad:
xdr_dump_bad(*_bp); xdr_dump_bad(*_bp);
afs_protocol_error(call, -EBADMSG, afs_eproto_bad_status); afs_protocol_error(call, afs_eproto_bad_status);
goto advance; goto advance;
} }
...@@ -1470,8 +1470,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call) ...@@ -1470,8 +1470,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("volname length: %u", call->count); _debug("volname length: %u", call->count);
if (call->count >= AFSNAMEMAX) if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_volname_len);
afs_eproto_volname_len);
size = (call->count + 3) & ~3; /* It's padded */ size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size); afs_extract_to_buf(call, size);
call->unmarshall++; call->unmarshall++;
...@@ -1500,8 +1499,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call) ...@@ -1500,8 +1499,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("offline msg length: %u", call->count); _debug("offline msg length: %u", call->count);
if (call->count >= AFSNAMEMAX) if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_offline_msg_len);
afs_eproto_offline_msg_len);
size = (call->count + 3) & ~3; /* It's padded */ size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size); afs_extract_to_buf(call, size);
call->unmarshall++; call->unmarshall++;
...@@ -1531,8 +1529,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call) ...@@ -1531,8 +1529,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("motd length: %u", call->count); _debug("motd length: %u", call->count);
if (call->count >= AFSNAMEMAX) if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_motd_len);
afs_eproto_motd_len);
size = (call->count + 3) & ~3; /* It's padded */ size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size); afs_extract_to_buf(call, size);
call->unmarshall++; call->unmarshall++;
...@@ -2012,8 +2009,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2012,8 +2009,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp); tmp = ntohl(call->tmp);
_debug("status count: %u/%u", tmp, call->count2); _debug("status count: %u/%u", tmp, call->count2);
if (tmp != call->count2) if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_ibulkst_count);
afs_eproto_ibulkst_count);
call->count = 0; call->count = 0;
call->unmarshall++; call->unmarshall++;
...@@ -2049,8 +2045,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -2049,8 +2045,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp); tmp = ntohl(call->tmp);
_debug("CB count: %u", tmp); _debug("CB count: %u", tmp);
if (tmp != call->count2) if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_ibulkst_cb_count);
afs_eproto_ibulkst_cb_count);
call->count = 0; call->count = 0;
call->unmarshall++; call->unmarshall++;
more_cbs: more_cbs:
......
...@@ -130,7 +130,7 @@ static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key, ...@@ -130,7 +130,7 @@ static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key,
default: default:
dump_vnode(vnode, parent_vnode); dump_vnode(vnode, parent_vnode);
write_sequnlock(&vnode->cb_lock); write_sequnlock(&vnode->cb_lock);
return afs_protocol_error(NULL, -EBADMSG, afs_eproto_file_type); return afs_protocol_error(NULL, afs_eproto_file_type);
} }
afs_set_i_size(vnode, status->size); afs_set_i_size(vnode, status->size);
...@@ -179,7 +179,7 @@ static void afs_apply_status(struct afs_fs_cursor *fc, ...@@ -179,7 +179,7 @@ static void afs_apply_status(struct afs_fs_cursor *fc,
vnode->fid.vnode, vnode->fid.vnode,
vnode->fid.unique, vnode->fid.unique,
status->type, vnode->status.type); status->type, vnode->status.type);
afs_protocol_error(NULL, -EBADMSG, afs_eproto_bad_status); afs_protocol_error(NULL, afs_eproto_bad_status);
return; return;
} }
......
...@@ -1133,7 +1133,7 @@ extern void afs_flat_call_destructor(struct afs_call *); ...@@ -1133,7 +1133,7 @@ extern void afs_flat_call_destructor(struct afs_call *);
extern void afs_send_empty_reply(struct afs_call *); extern void afs_send_empty_reply(struct afs_call *);
extern void afs_send_simple_reply(struct afs_call *, const void *, size_t); extern void afs_send_simple_reply(struct afs_call *, const void *, size_t);
extern int afs_extract_data(struct afs_call *, bool); extern int afs_extract_data(struct afs_call *, bool);
extern int afs_protocol_error(struct afs_call *, int, enum afs_eproto_cause); extern int afs_protocol_error(struct afs_call *, enum afs_eproto_cause);
static inline void afs_set_fc_call(struct afs_call *call, struct afs_fs_cursor *fc) static inline void afs_set_fc_call(struct afs_call *call, struct afs_fs_cursor *fc)
{ {
......
...@@ -961,11 +961,11 @@ int afs_extract_data(struct afs_call *call, bool want_more) ...@@ -961,11 +961,11 @@ int afs_extract_data(struct afs_call *call, bool want_more)
/* /*
* Log protocol error production. * Log protocol error production.
*/ */
noinline int afs_protocol_error(struct afs_call *call, int error, noinline int afs_protocol_error(struct afs_call *call,
enum afs_eproto_cause cause) enum afs_eproto_cause cause)
{ {
trace_afs_protocol_error(call, error, cause); trace_afs_protocol_error(call, cause);
if (call) if (call)
call->unmarshalling_error = true; call->unmarshalling_error = true;
return error; return -EBADMSG;
} }
...@@ -448,8 +448,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) ...@@ -448,8 +448,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
call->count2 = ntohl(*bp); /* Type or next count */ call->count2 = ntohl(*bp); /* Type or next count */
if (call->count > YFS_MAXENDPOINTS) if (call->count > YFS_MAXENDPOINTS)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_yvl_fsendpt_num);
afs_eproto_yvl_fsendpt_num);
alist = afs_alloc_addrlist(call->count, FS_SERVICE, AFS_FS_PORT); alist = afs_alloc_addrlist(call->count, FS_SERVICE, AFS_FS_PORT);
if (!alist) if (!alist)
...@@ -469,8 +468,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) ...@@ -469,8 +468,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
size = sizeof(__be32) * (1 + 4 + 1); size = sizeof(__be32) * (1 + 4 + 1);
break; break;
default: default:
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_yvl_fsendpt_type);
afs_eproto_yvl_fsendpt_type);
} }
size += sizeof(__be32); size += sizeof(__be32);
...@@ -488,21 +486,20 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) ...@@ -488,21 +486,20 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
switch (call->count2) { switch (call->count2) {
case YFS_ENDPOINT_IPV4: case YFS_ENDPOINT_IPV4:
if (ntohl(bp[0]) != sizeof(__be32) * 2) if (ntohl(bp[0]) != sizeof(__be32) * 2)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(
afs_eproto_yvl_fsendpt4_len); call, afs_eproto_yvl_fsendpt4_len);
afs_merge_fs_addr4(alist, bp[1], ntohl(bp[2])); afs_merge_fs_addr4(alist, bp[1], ntohl(bp[2]));
bp += 3; bp += 3;
break; break;
case YFS_ENDPOINT_IPV6: case YFS_ENDPOINT_IPV6:
if (ntohl(bp[0]) != sizeof(__be32) * 5) if (ntohl(bp[0]) != sizeof(__be32) * 5)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(
afs_eproto_yvl_fsendpt6_len); call, afs_eproto_yvl_fsendpt6_len);
afs_merge_fs_addr6(alist, bp + 1, ntohl(bp[5])); afs_merge_fs_addr6(alist, bp + 1, ntohl(bp[5]));
bp += 6; bp += 6;
break; break;
default: default:
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_yvl_fsendpt_type);
afs_eproto_yvl_fsendpt_type);
} }
/* Got either the type of the next entry or the count of /* Got either the type of the next entry or the count of
...@@ -520,8 +517,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) ...@@ -520,8 +517,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
if (!call->count) if (!call->count)
goto end; goto end;
if (call->count > YFS_MAXENDPOINTS) if (call->count > YFS_MAXENDPOINTS)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_yvl_vlendpt_type);
afs_eproto_yvl_vlendpt_type);
afs_extract_to_buf(call, 1 * sizeof(__be32)); afs_extract_to_buf(call, 1 * sizeof(__be32));
call->unmarshall = 3; call->unmarshall = 3;
...@@ -548,8 +544,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) ...@@ -548,8 +544,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
size = sizeof(__be32) * (1 + 4 + 1); size = sizeof(__be32) * (1 + 4 + 1);
break; break;
default: default:
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_yvl_vlendpt_type);
afs_eproto_yvl_vlendpt_type);
} }
if (call->count > 1) if (call->count > 1)
...@@ -567,19 +562,18 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) ...@@ -567,19 +562,18 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
switch (call->count2) { switch (call->count2) {
case YFS_ENDPOINT_IPV4: case YFS_ENDPOINT_IPV4:
if (ntohl(bp[0]) != sizeof(__be32) * 2) if (ntohl(bp[0]) != sizeof(__be32) * 2)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(
afs_eproto_yvl_vlendpt4_len); call, afs_eproto_yvl_vlendpt4_len);
bp += 3; bp += 3;
break; break;
case YFS_ENDPOINT_IPV6: case YFS_ENDPOINT_IPV6:
if (ntohl(bp[0]) != sizeof(__be32) * 5) if (ntohl(bp[0]) != sizeof(__be32) * 5)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(
afs_eproto_yvl_vlendpt6_len); call, afs_eproto_yvl_vlendpt6_len);
bp += 6; bp += 6;
break; break;
default: default:
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_yvl_vlendpt_type);
afs_eproto_yvl_vlendpt_type);
} }
/* Got either the type of the next entry or the count of /* Got either the type of the next entry or the count of
......
...@@ -226,7 +226,7 @@ static void xdr_decode_YFSFetchStatus(const __be32 **_bp, ...@@ -226,7 +226,7 @@ static void xdr_decode_YFSFetchStatus(const __be32 **_bp,
bad: bad:
xdr_dump_bad(*_bp); xdr_dump_bad(*_bp);
afs_protocol_error(call, -EBADMSG, afs_eproto_bad_status); afs_protocol_error(call, afs_eproto_bad_status);
goto advance; goto advance;
} }
...@@ -1426,8 +1426,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call) ...@@ -1426,8 +1426,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("volname length: %u", call->count); _debug("volname length: %u", call->count);
if (call->count >= AFSNAMEMAX) if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_volname_len);
afs_eproto_volname_len);
size = (call->count + 3) & ~3; /* It's padded */ size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size); afs_extract_to_buf(call, size);
call->unmarshall++; call->unmarshall++;
...@@ -1456,8 +1455,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call) ...@@ -1456,8 +1455,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("offline msg length: %u", call->count); _debug("offline msg length: %u", call->count);
if (call->count >= AFSNAMEMAX) if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_offline_msg_len);
afs_eproto_offline_msg_len);
size = (call->count + 3) & ~3; /* It's padded */ size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size); afs_extract_to_buf(call, size);
call->unmarshall++; call->unmarshall++;
...@@ -1487,8 +1485,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call) ...@@ -1487,8 +1485,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp); call->count = ntohl(call->tmp);
_debug("motd length: %u", call->count); _debug("motd length: %u", call->count);
if (call->count >= AFSNAMEMAX) if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_motd_len);
afs_eproto_motd_len);
size = (call->count + 3) & ~3; /* It's padded */ size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size); afs_extract_to_buf(call, size);
call->unmarshall++; call->unmarshall++;
...@@ -1797,8 +1794,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -1797,8 +1794,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp); tmp = ntohl(call->tmp);
_debug("status count: %u/%u", tmp, call->count2); _debug("status count: %u/%u", tmp, call->count2);
if (tmp != call->count2) if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_ibulkst_count);
afs_eproto_ibulkst_count);
call->count = 0; call->count = 0;
call->unmarshall++; call->unmarshall++;
...@@ -1835,8 +1831,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) ...@@ -1835,8 +1831,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp); tmp = ntohl(call->tmp);
_debug("CB count: %u", tmp); _debug("CB count: %u", tmp);
if (tmp != call->count2) if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG, return afs_protocol_error(call, afs_eproto_ibulkst_cb_count);
afs_eproto_ibulkst_cb_count);
call->count = 0; call->count = 0;
call->unmarshall++; call->unmarshall++;
more_cbs: more_cbs:
......
...@@ -994,24 +994,22 @@ TRACE_EVENT(afs_edit_dir, ...@@ -994,24 +994,22 @@ TRACE_EVENT(afs_edit_dir,
); );
TRACE_EVENT(afs_protocol_error, TRACE_EVENT(afs_protocol_error,
TP_PROTO(struct afs_call *call, int error, enum afs_eproto_cause cause), TP_PROTO(struct afs_call *call, enum afs_eproto_cause cause),
TP_ARGS(call, error, cause), TP_ARGS(call, cause),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(unsigned int, call ) __field(unsigned int, call )
__field(int, error )
__field(enum afs_eproto_cause, cause ) __field(enum afs_eproto_cause, cause )
), ),
TP_fast_assign( TP_fast_assign(
__entry->call = call ? call->debug_id : 0; __entry->call = call ? call->debug_id : 0;
__entry->error = error;
__entry->cause = cause; __entry->cause = cause;
), ),
TP_printk("c=%08x r=%d %s", TP_printk("c=%08x %s",
__entry->call, __entry->error, __entry->call,
__print_symbolic(__entry->cause, afs_eproto_causes)) __print_symbolic(__entry->cause, afs_eproto_causes))
); );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment