@@ -2454,7 +2454,7 @@ static noinline int
2454
2454
rpc_decode_header (struct rpc_task * task , struct xdr_stream * xdr )
2455
2455
{
2456
2456
struct rpc_clnt * clnt = task -> tk_client ;
2457
- int error = - EACCES ;
2457
+ int error ;
2458
2458
__be32 * p ;
2459
2459
2460
2460
/* RFC-1014 says that the representation of XDR data must be a
@@ -2463,7 +2463,7 @@ rpc_decode_header(struct rpc_task *task, struct xdr_stream *xdr)
2463
2463
* undefined results
2464
2464
*/
2465
2465
if (task -> tk_rqstp -> rq_rcv_buf .len & 3 )
2466
- goto out_badlen ;
2466
+ goto out_unparsable ;
2467
2467
2468
2468
p = xdr_inline_decode (xdr , 3 * sizeof (* p ));
2469
2469
if (!p )
@@ -2498,9 +2498,10 @@ rpc_decode_header(struct rpc_task *task, struct xdr_stream *xdr)
2498
2498
goto out_err ;
2499
2499
case rpc_garbage_args :
2500
2500
trace_rpc__garbage_args (task );
2501
+ error = - EIO ;
2501
2502
break ;
2502
2503
default :
2503
- trace_rpc__unparsable ( task ) ;
2504
+ goto out_unparsable ;
2504
2505
}
2505
2506
2506
2507
out_garbage :
@@ -2514,11 +2515,6 @@ rpc_decode_header(struct rpc_task *task, struct xdr_stream *xdr)
2514
2515
rpc_exit (task , error );
2515
2516
return error ;
2516
2517
2517
- out_badlen :
2518
- trace_rpc__unparsable (task );
2519
- error = - EIO ;
2520
- goto out_err ;
2521
-
2522
2518
out_unparsable :
2523
2519
trace_rpc__unparsable (task );
2524
2520
error = - EIO ;
@@ -2529,6 +2525,7 @@ rpc_decode_header(struct rpc_task *task, struct xdr_stream *xdr)
2529
2525
goto out_garbage ;
2530
2526
2531
2527
out_msg_denied :
2528
+ error = - EACCES ;
2532
2529
p = xdr_inline_decode (xdr , sizeof (* p ));
2533
2530
if (!p )
2534
2531
goto out_unparsable ;
@@ -2540,9 +2537,7 @@ rpc_decode_header(struct rpc_task *task, struct xdr_stream *xdr)
2540
2537
error = - EPROTONOSUPPORT ;
2541
2538
goto out_err ;
2542
2539
default :
2543
- trace_rpc__unparsable (task );
2544
- error = - EIO ;
2545
- goto out_err ;
2540
+ goto out_unparsable ;
2546
2541
}
2547
2542
2548
2543
p = xdr_inline_decode (xdr , sizeof (* p ));
@@ -2577,8 +2572,7 @@ rpc_decode_header(struct rpc_task *task, struct xdr_stream *xdr)
2577
2572
task -> tk_xprt -> servername );
2578
2573
break ;
2579
2574
default :
2580
- trace_rpc__unparsable (task );
2581
- error = - EIO ;
2575
+ goto out_unparsable ;
2582
2576
}
2583
2577
goto out_err ;
2584
2578
}
0 commit comments