Browse Source

NFSv4: Fix acl buffer size

 resp_len is passed in as buffer size to decode routine; make sure it's
 set right in case where userspace provides less than a page's worth of
 buffer.

 Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
J. Bruce Fields 19 năm trước cách đây
mục cha
commit
1d95db8e16
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      fs/nfs/nfs4proc.c

+ 1 - 1
fs/nfs/nfs4proc.c

@@ -2357,7 +2357,7 @@ static inline ssize_t nfs4_get_acl_uncached(struct inode *inode, void *buf, size
 			return -ENOMEM;
 		args.acl_pages[0] = localpage;
 		args.acl_pgbase = 0;
-		args.acl_len = PAGE_SIZE;
+		resp_len = args.acl_len = PAGE_SIZE;
 	} else {
 		resp_buf = buf;
 		buf_to_pages(buf, buflen, args.acl_pages, &args.acl_pgbase);