Skip to content
  • J. Bruce Fields's avatar
    nfsd4: use xdr_reserve_space in attribute encoding · ddd1ea56
    J. Bruce Fields authored
    
    
    This is a cosmetic change for now; no change in behavior.
    
    Note we're just depending on xdr_reserve_space to do the bounds checking
    for us, we're not really depending on its adjustment of iovec or xdr_buf
    lengths yet, as those are fixed up by as necessary after the fact by
    read-link operations and by nfs4svc_encode_compoundres.  However we do
    have to update xdr->iov on read-like operations to prevent
    xdr_reserve_space from messing with the already-fixed-up length of the
    the head.
    
    When the attribute encoding fails partway through we have to undo the
    length adjustments made so far.  We do it manually for now, but later
    patches will add an xdr_truncate_encode() helper to handle cases like
    this.
    
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    ddd1ea56