[PATCH] Fix acl Oops ) From: Andreas Gruenbacher <agruen@suse.de> ext[23]_get_acl will return an error when reading the attribute fails or out-of-memory occurs. Catch this case. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index 8369ee8..25f4a64 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c
@@ -283,6 +283,8 @@ { struct posix_acl *acl = ext2_get_acl(inode, ACL_TYPE_ACCESS); + if (IS_ERR(acl)) + return PTR_ERR(acl); if (acl) { int error = posix_acl_permission(inode, acl, mask); posix_acl_release(acl);
diff --git a/fs/ext3/acl.c b/fs/ext3/acl.c index 328592c..638c13a 100644 --- a/fs/ext3/acl.c +++ b/fs/ext3/acl.c
@@ -286,6 +286,8 @@ { struct posix_acl *acl = ext3_get_acl(inode, ACL_TYPE_ACCESS); + if (IS_ERR(acl)) + return PTR_ERR(acl); if (acl) { int error = posix_acl_permission(inode, acl, mask); posix_acl_release(acl);