diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index 6e9369b19f89d0da165f6573fa924cc6af385c98..a00e28d1225dc8db4f1d0d68bb964740960e4b44 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -189,6 +189,7 @@ nfsd_proc_read(struct svc_rqst *rqstp) argp->count); argp->count = NFSSVC_MAXBLKSIZE_V2; } + argp->count = min_t(u32, argp->count, rqstp->rq_res.buflen); svc_reserve_auth(rqstp, (19<<2) + argp->count + 4); resp->count = argp->count;