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>
This commit is contained in:
Родитель
c889132913
Коммит
fa8b18edd7
|
@ -42,6 +42,8 @@ xfs_acl_from_disk(struct xfs_acl *aclp)
|
||||||
int count, i;
|
int count, i;
|
||||||
|
|
||||||
count = be32_to_cpu(aclp->acl_cnt);
|
count = be32_to_cpu(aclp->acl_cnt);
|
||||||
|
if (count > XFS_ACL_MAX_ENTRIES)
|
||||||
|
return ERR_PTR(-EFSCORRUPTED);
|
||||||
|
|
||||||
acl = posix_acl_alloc(count, GFP_KERNEL);
|
acl = posix_acl_alloc(count, GFP_KERNEL);
|
||||||
if (!acl)
|
if (!acl)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче