Chuck Lever fc788f64f1 nfsd: Limit end of page list when decoding NFSv4 WRITE
When processing an NFSv4 WRITE operation, argp->end should never
point past the end of the data in the final page of the page list.
Otherwise, nfsd4_decode_compound can walk into uninitialized memory.

More critical, nfsd4_decode_write is failing to increment argp->pagelen
when it increments argp->pagelist.  This can cause later xdr decoders
to assume more data is available than really is, which can cause server
crashes on malformed requests.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2017-08-24 18:05:30 -04:00
..
2016-10-07 18:46:30 -07:00
2016-08-04 19:59:06 -04:00
2016-03-18 11:42:53 -04:00
2017-06-05 16:56:38 +02:00
2017-02-22 11:44:32 -08:00
2017-06-28 13:34:15 -04:00
2017-02-27 18:43:47 -08:00
2017-06-28 13:34:15 -04:00
2016-05-29 19:08:00 -04:00
2016-01-14 17:32:51 -05:00
2017-05-15 17:42:29 +02:00