New nfsd-related kernel panic
Quoted 2 lines · On Wednesday August 11, [email protected] wrote:
Anyone else seeing this?
Yes. I've just sent the following patch to Linus/Andrew.
NeilBrown
fs/nfsd/nfs3xdr.c renamed from fs/nfsd/nfs3xdr.c~current~ +1 -1
@@ -347,8 +347,8 @@ nfs3svc_decode_readargs(struct svc_rqstsvc_take_page (rqstp); args->vec[v].iov_base =page_address (rqstp->rq_respages[pn]); args->vec[v].iov_len = len <PAGE_SIZE ? len :PAGE_SIZE ; + len -= args->vec[v].iov_len; v++; - len -=PAGE_SIZE ; } args->vlen = v;return xdr_argsize_check (rqstp, p);
fs/nfsd/nfsxdr.c renamed from fs/nfsd/nfsxdr.c~current~ +1 -1
@@ -255,8 +255,8 @@ nfssvc_decode_readargs(struct svc_rqst *svc_take_page (rqstp); args->vec[v].iov_base =page_address (rqstp->rq_respages[pn]); args->vec[v].iov_len = len <PAGE_SIZE ?len:PAGE_SIZE ; + len -= args->vec[v].iov_len; v++; - len -=PAGE_SIZE ; } args->vlen = v;return xdr_argsize_check (rqstp, p);
The following patch of 09Aug is causing kernel panics:
$bk get -D fs/nfsd/nfsxdr.c
237d236
< int len;
237a237
Quoted 1 line
unsigned int len;
269d268
< int len;
269a269
Quoted 1 line
unsigned int len;
I can cause a kernel panic by mounting the remote filesystem read-only and merely copying a moderately large tarball from it. (The linux-kernel source tarball, for example.)
The panic occurs every time, after only a second or two at most. It's so easy to reproduce that I haven't copied down the backtrace, but I will if no one else can reproduce the problem.
Anyone else seeing this?