Преглед на файлове

xfs: validate acl count

This prevents in-memory corruption and possible panics if the on-disk
ACL is badly corrupted.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
Christoph Hellwig преди 14 години
родител
ревизия
fa8b18edd7
променени са 1 файла, в които са добавени 2 реда и са изтрити 0 реда
  1. 2 0
      fs/xfs/xfs_acl.c

+ 2 - 0
fs/xfs/xfs_acl.c

@@ -42,6 +42,8 @@ xfs_acl_from_disk(struct xfs_acl *aclp)
 	int count, i;
 
 	count = be32_to_cpu(aclp->acl_cnt);
+	if (count > XFS_ACL_MAX_ENTRIES)
+		return ERR_PTR(-EFSCORRUPTED);
 
 	acl = posix_acl_alloc(count, GFP_KERNEL);
 	if (!acl)