Re: [PATCH] NFS: don't try to decode GETATTR if DELEGRETURN returned error

Trond Myklebust
2010-03-21T16:16:43Z

On Sun, 2010-03-21 at 07:17 -0400, Jeff Layton wrote:
> The reply parsing code attempts to decode the GETATTR response even if
> the DELEGRETURN portion of the compound returned an error. The GETATTR
> response won't actually exist if that's the case and we're asking the
> parser to read past the end of the response.
>
> This bug is fairly benign. The parser catches this without reading past
> the end of the response and decode_getfattr returns -EIO. Earlier
> kernels however had decode_op_hdr using the READ_BUF macro, and this
> bug would make this printk pop any time the client got an error from
> a delegreturn:
>
> kernel: decode_op_hdr: reply buffer overflowed in line XXXX
>
> More recent kernels seem to have replaced this printk with a dprintk.
>
> Signed-off-by: Jeff Layton <jlayton@redhat.com>

Applied. Thanks!

Trond