• Trond Myklebust's avatar
    NFSv4: Fix pointer arithmetic in decode_getacl · 519d3959
    Trond Myklebust authored
    Resetting the cursor xdr->p to a previous value is not a safe
    practice: if the xdr_stream has crossed out of the initial iovec,
    then a bunch of other fields would need to be reset too.
    
    Fix this issue by using xdr_enter_page() so that the buffer gets
    page aligned at the bitmap _before_ we decode it.
    
    Also fix the confusion of the ACL length with the page buffer length
    by not adding the base offset to the ACL length...
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    Cc: stable@vger.kernel.org
    519d3959
nfs4xdr.c 189 KB