Skip to content

Commit

Permalink
afs: Remove the error argument from afs_protocol_error()
Browse files Browse the repository at this point in the history
Remove the error argument from afs_protocol_error() as it's always
-EBADMSG.

Signed-off-by: David Howells <dhowells@redhat.com>
  • Loading branch information
David Howells committed May 31, 2020
1 parent 38355ee commit 7126ead
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 60 deletions.
9 changes: 3 additions & 6 deletions fs/afs/cmservice.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,8 +307,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("FID count: %u", call->count);
if (call->count > AFSCBMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_cb_fid_count);
return afs_protocol_error(call, afs_eproto_cb_fid_count);

call->buffer = kmalloc(array3_size(call->count, 3, 4),
GFP_KERNEL);
Expand Down Expand Up @@ -353,8 +352,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
call->count2 = ntohl(call->tmp);
_debug("CB count: %u", call->count2);
if (call->count2 != call->count && call->count2 != 0)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_cb_count);
return afs_protocol_error(call, afs_eproto_cb_count);
call->iter = &call->def_iter;
iov_iter_discard(&call->def_iter, READ, call->count2 * 3 * 4);
call->unmarshall++;
Expand Down Expand Up @@ -674,8 +672,7 @@ static int afs_deliver_yfs_cb_callback(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("FID count: %u", call->count);
if (call->count > YFSCBMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_cb_fid_count);
return afs_protocol_error(call, afs_eproto_cb_fid_count);

size = array_size(call->count, sizeof(struct yfs_xdr_YFSFid));
call->buffer = kmalloc(size, GFP_KERNEL);
Expand Down
17 changes: 6 additions & 11 deletions fs/afs/fsclient.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ static void xdr_decode_AFSFetchStatus(const __be32 **_bp,

bad:
xdr_dump_bad(*_bp);
afs_protocol_error(call, -EBADMSG, afs_eproto_bad_status);
afs_protocol_error(call, afs_eproto_bad_status);
goto advance;
}

Expand Down Expand Up @@ -1470,8 +1470,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("volname length: %u", call->count);
if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_volname_len);
return afs_protocol_error(call, afs_eproto_volname_len);
size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size);
call->unmarshall++;
Expand Down Expand Up @@ -1500,8 +1499,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("offline msg length: %u", call->count);
if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_offline_msg_len);
return afs_protocol_error(call, afs_eproto_offline_msg_len);
size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size);
call->unmarshall++;
Expand Down Expand Up @@ -1531,8 +1529,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("motd length: %u", call->count);
if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_motd_len);
return afs_protocol_error(call, afs_eproto_motd_len);
size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size);
call->unmarshall++;
Expand Down Expand Up @@ -2012,8 +2009,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp);
_debug("status count: %u/%u", tmp, call->count2);
if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_ibulkst_count);
return afs_protocol_error(call, afs_eproto_ibulkst_count);

call->count = 0;
call->unmarshall++;
Expand Down Expand Up @@ -2049,8 +2045,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp);
_debug("CB count: %u", tmp);
if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_ibulkst_cb_count);
return afs_protocol_error(call, afs_eproto_ibulkst_cb_count);
call->count = 0;
call->unmarshall++;
more_cbs:
Expand Down
4 changes: 2 additions & 2 deletions fs/afs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key,
default:
dump_vnode(vnode, parent_vnode);
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);
Expand Down Expand Up @@ -179,7 +179,7 @@ static void afs_apply_status(struct afs_fs_cursor *fc,
vnode->fid.vnode,
vnode->fid.unique,
status->type, vnode->status.type);
afs_protocol_error(NULL, -EBADMSG, afs_eproto_bad_status);
afs_protocol_error(NULL, afs_eproto_bad_status);
return;
}

Expand Down
2 changes: 1 addition & 1 deletion fs/afs/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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_simple_reply(struct afs_call *, const void *, size_t);
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)
{
Expand Down
6 changes: 3 additions & 3 deletions fs/afs/rxrpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -961,11 +961,11 @@ int afs_extract_data(struct afs_call *call, bool want_more)
/*
* 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)
{
trace_afs_protocol_error(call, error, cause);
trace_afs_protocol_error(call, cause);
if (call)
call->unmarshalling_error = true;
return error;
return -EBADMSG;
}
34 changes: 14 additions & 20 deletions fs/afs/vlclient.c
Original file line number Diff line number Diff line change
Expand Up @@ -448,8 +448,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
call->count2 = ntohl(*bp); /* Type or next count */

if (call->count > YFS_MAXENDPOINTS)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_fsendpt_num);
return afs_protocol_error(call, afs_eproto_yvl_fsendpt_num);

alist = afs_alloc_addrlist(call->count, FS_SERVICE, AFS_FS_PORT);
if (!alist)
Expand All @@ -469,8 +468,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
size = sizeof(__be32) * (1 + 4 + 1);
break;
default:
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_fsendpt_type);
return afs_protocol_error(call, afs_eproto_yvl_fsendpt_type);
}

size += sizeof(__be32);
Expand All @@ -488,21 +486,20 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
switch (call->count2) {
case YFS_ENDPOINT_IPV4:
if (ntohl(bp[0]) != sizeof(__be32) * 2)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_fsendpt4_len);
return afs_protocol_error(
call, 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,
afs_eproto_yvl_fsendpt6_len);
return afs_protocol_error(
call, 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,
afs_eproto_yvl_fsendpt_type);
return afs_protocol_error(call, afs_eproto_yvl_fsendpt_type);
}

/* Got either the type of the next entry or the count of
Expand All @@ -520,8 +517,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
if (!call->count)
goto end;
if (call->count > YFS_MAXENDPOINTS)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_vlendpt_type);
return afs_protocol_error(call, afs_eproto_yvl_vlendpt_type);

afs_extract_to_buf(call, 1 * sizeof(__be32));
call->unmarshall = 3;
Expand All @@ -548,8 +544,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
size = sizeof(__be32) * (1 + 4 + 1);
break;
default:
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_vlendpt_type);
return afs_protocol_error(call, afs_eproto_yvl_vlendpt_type);
}

if (call->count > 1)
Expand All @@ -567,19 +562,18 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
switch (call->count2) {
case YFS_ENDPOINT_IPV4:
if (ntohl(bp[0]) != sizeof(__be32) * 2)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_vlendpt4_len);
return afs_protocol_error(
call, 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,
afs_eproto_yvl_vlendpt6_len);
return afs_protocol_error(
call, afs_eproto_yvl_vlendpt6_len);
bp += 6;
break;
default:
return afs_protocol_error(call, -EBADMSG,
afs_eproto_yvl_vlendpt_type);
return afs_protocol_error(call, afs_eproto_yvl_vlendpt_type);
}

/* Got either the type of the next entry or the count of
Expand Down
17 changes: 6 additions & 11 deletions fs/afs/yfsclient.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ static void xdr_decode_YFSFetchStatus(const __be32 **_bp,

bad:
xdr_dump_bad(*_bp);
afs_protocol_error(call, -EBADMSG, afs_eproto_bad_status);
afs_protocol_error(call, afs_eproto_bad_status);
goto advance;
}

Expand Down Expand Up @@ -1426,8 +1426,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("volname length: %u", call->count);
if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_volname_len);
return afs_protocol_error(call, afs_eproto_volname_len);
size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size);
call->unmarshall++;
Expand Down Expand Up @@ -1456,8 +1455,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("offline msg length: %u", call->count);
if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_offline_msg_len);
return afs_protocol_error(call, afs_eproto_offline_msg_len);
size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size);
call->unmarshall++;
Expand Down Expand Up @@ -1487,8 +1485,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
call->count = ntohl(call->tmp);
_debug("motd length: %u", call->count);
if (call->count >= AFSNAMEMAX)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_motd_len);
return afs_protocol_error(call, afs_eproto_motd_len);
size = (call->count + 3) & ~3; /* It's padded */
afs_extract_to_buf(call, size);
call->unmarshall++;
Expand Down Expand Up @@ -1797,8 +1794,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp);
_debug("status count: %u/%u", tmp, call->count2);
if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_ibulkst_count);
return afs_protocol_error(call, afs_eproto_ibulkst_count);

call->count = 0;
call->unmarshall++;
Expand Down Expand Up @@ -1835,8 +1831,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
tmp = ntohl(call->tmp);
_debug("CB count: %u", tmp);
if (tmp != call->count2)
return afs_protocol_error(call, -EBADMSG,
afs_eproto_ibulkst_cb_count);
return afs_protocol_error(call, afs_eproto_ibulkst_cb_count);
call->count = 0;
call->unmarshall++;
more_cbs:
Expand Down
10 changes: 4 additions & 6 deletions include/trace/events/afs.h
Original file line number Diff line number Diff line change
Expand Up @@ -994,24 +994,22 @@ TRACE_EVENT(afs_edit_dir,
);

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(
__field(unsigned int, call )
__field(int, error )
__field(enum afs_eproto_cause, cause )
),

TP_fast_assign(
__entry->call = call ? call->debug_id : 0;
__entry->error = error;
__entry->cause = cause;
),

TP_printk("c=%08x r=%d %s",
__entry->call, __entry->error,
TP_printk("c=%08x %s",
__entry->call,
__print_symbolic(__entry->cause, afs_eproto_causes))
);

Expand Down

0 comments on commit 7126ead

Please sign in to comment.