On Mon, Dec 14, 2015 at 5:21 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > From: Weston Andros Adamson <dros@xxxxxxxxxx> > > Fix a bug where getxattr returns ERANGE when the attr buffer > length is close enough to the nearest PAGE_SIZE multiple that adding > the extra bytes leaves too little room for the ACL buffer. > > Besides storing the ACL buffer, the getacl decoder uses the inline > pages for the attr bitmap and buffer length. __nfs4_get_acl_uncached > must allocate enough page space for all of the data to be decoded. > > This patch uses xdr_partial_copy_from_skb to allocate any needed > pages past the first one. This allows the client to always cache the acl > on the first getacl call and not just if it fits in one page. > > Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> > Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> The thread ends with: "Indeed, buf->page_len is still set to the maximum number of bytes in the pages array (set by xdr_inline_pages to tell xdr layer the max allocation size), and not the number of bytes that are actually present. Working on a fix. -dros" So no, I'm not taking this patch until someone fixes the issues identified in the review. Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html