projects
/
wrapfs-3.14.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f09bb6a
)
xfs: validate acl count
author
Christoph Hellwig
<hch@infradead.org>
Sun, 20 Nov 2011 15:35:32 +0000
(15:35 +0000)
committer
Greg Kroah-Hartman
<gregkh@suse.de>
Thu, 12 Jan 2012 19:40:12 +0000
(11:40 -0800)
commit
fa8b18edd752a8b4e9d1ee2cd615b82c93cf8bba
upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/xfs/linux-2.6/xfs_acl.c
patch
|
blob
|
history
diff --git
a/fs/xfs/linux-2.6/xfs_acl.c
b/fs/xfs/linux-2.6/xfs_acl.c
index 4c7b14503716d3e01bfee8d48ab930f6fdbd008a..03aec610b3fcaf3dce00aceb3982b30fa30a8847 100644
(file)
--- a/
fs/xfs/linux-2.6/xfs_acl.c
+++ b/
fs/xfs/linux-2.6/xfs_acl.c
@@
-40,6
+40,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)