SUNRPC: Don't decode beyond the end of the RPC reply message
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 20 Jun 2012 13:58:35 +0000 (09:58 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 28 Jun 2012 21:20:41 +0000 (17:20 -0400)
commitbfeea1dc1c9238f9e5a17a265489ecd0d19f66bb
tree009163b2f4c0255599d3c781a833c2dcfaa621ed
parent1537693ceaa8d6484f1ce631bec85658bfa9816c
SUNRPC: Don't decode beyond the end of the RPC reply message

Now that xdr_inline_decode() will automatically cross into the page
buffers, we need to ensure that it doesn't exceed the total reply
message length.

This patch sets up a counter that tracks the number of words
remaining in the reply message, and ensures that xdr_inline_decode,
xdr_read_pages and xdr_enter_page respect the end of message boundary.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
include/linux/sunrpc/xdr.h
net/sunrpc/xdr.c