case RPC_GSS_SVC_INTEGRITY:
                        if (unwrap_integ_data(&rqstp->rq_arg,
                                        gc->gc_seq, rsci->mechctx))
-                               goto auth_err;
+                               goto garbage_args;
                        /* placeholders for length and seq. number: */
                        svc_putnl(resv, 0);
                        svc_putnl(resv, 0);
                case RPC_GSS_SVC_PRIVACY:
                        if (unwrap_priv_data(rqstp, &rqstp->rq_arg,
                                        gc->gc_seq, rsci->mechctx))
-                               goto auth_err;
+                               goto garbage_args;
                        /* placeholders for length and seq. number: */
                        svc_putnl(resv, 0);
                        svc_putnl(resv, 0);
                ret = SVC_OK;
                goto out;
        }
+garbage_args:
+       /* Restore write pointer to its original value: */
+       xdr_ressize_check(rqstp, reject_stat);
+       ret = SVC_GARBAGE;
+       goto out;
 auth_err:
        /* Restore write pointer to its original value: */
        xdr_ressize_check(rqstp, reject_stat);