diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-11-20 12:22:20 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-11-22 13:24:43 -0500 |
commit | 463a376eae1c92a66c912af539bfd4bbefa37673 (patch) | |
tree | b6bc0eb099669ead19ef97f27c7e0b65d38bdb82 /fs | |
parent | b47d19de2c714020ba8f5545a6e7d4968f37eb45 (diff) |
NFS: Buffer overflow in ->decode_dirent() should not be fatal
Overflowing the buffer in the readdir ->decode_dirent() should not lead to
a fatal error, but rather to an attempt to reread the record in question.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/nfs2xdr.c | 2 | ||||
-rw-r--r-- | fs/nfs/nfs3xdr.c | 2 | ||||
-rw-r--r-- | fs/nfs/nfs4xdr.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfs/nfs2xdr.c b/fs/nfs/nfs2xdr.c index 2563f765c9b4..ab5937734f0b 100644 --- a/fs/nfs/nfs2xdr.c +++ b/fs/nfs/nfs2xdr.c | |||
@@ -495,7 +495,7 @@ nfs_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, struct nfs_se | |||
495 | 495 | ||
496 | out_overflow: | 496 | out_overflow: |
497 | print_overflow_msg(__func__, xdr); | 497 | print_overflow_msg(__func__, xdr); |
498 | return ERR_PTR(-EIO); | 498 | return ERR_PTR(-EAGAIN); |
499 | } | 499 | } |
500 | 500 | ||
501 | /* | 501 | /* |
diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c index 748dc91a4a14..e79e4f5f5d53 100644 --- a/fs/nfs/nfs3xdr.c +++ b/fs/nfs/nfs3xdr.c | |||
@@ -656,7 +656,7 @@ nfs3_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, struct nfs_s | |||
656 | out_overflow: | 656 | out_overflow: |
657 | print_overflow_msg(__func__, xdr); | 657 | print_overflow_msg(__func__, xdr); |
658 | out_overflow_exit: | 658 | out_overflow_exit: |
659 | return ERR_PTR(-EIO); | 659 | return ERR_PTR(-EAGAIN); |
660 | } | 660 | } |
661 | 661 | ||
662 | /* | 662 | /* |
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index b7a204ff6fe1..a3b39cbc90f9 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c | |||
@@ -6221,7 +6221,7 @@ __be32 *nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, | |||
6221 | 6221 | ||
6222 | out_overflow: | 6222 | out_overflow: |
6223 | print_overflow_msg(__func__, xdr); | 6223 | print_overflow_msg(__func__, xdr); |
6224 | return ERR_PTR(-EIO); | 6224 | return ERR_PTR(-EAGAIN); |
6225 | } | 6225 | } |
6226 | 6226 | ||
6227 | /* | 6227 | /* |