posix_acl: Add the check items
PATCH v2 3/12 posix_acl: Add the check items
move the ACL validation check in to fs/posix_acl.c. Including nullpointer check and PTR_ERR check.
---
---
fs/ext2/acl.c +0 -0
@@ -403,13 +403,11 @@ ext2_xattr_set_acl(struct dentry *dentry, const
char *name, const void *value,
if (value) {
acl = posix_acl_from_xattr(value, size);
- if (IS_ERR(acl))
- return PTR_ERR(acl);
- else if (acl) {
- error = posix_acl_valid(acl);
- if (error)
- goto release_and_out;
- }
+
+ error = posix_acl_valid(acl);
+ if (error)
+ goto release_and_out;
+
} else
acl = NULL;
Signature · 2 lines
Best Regards, Liuwenyi
Quoted 24 lines · Liuwenyi
move the ACL validation check in to
fs/posix_acl.c. Including nullpointer check andPTR_ERRcheck.---
Signed-off-by Liuwenyi <[email protected]>Cc Al Viro <[email protected]>Cc James Morris <[email protected]>Cc Joel Becker <[email protected]>Cc Serge Hallyn <[email protected]>Cc Christoph Hellwig <[email protected]>---
fs/ext2/acl.c +0
-1@@ -403,13 +403,11 @@ ext2_xattr_set_acl(struct dentry *dentry, const char *name, const void *value, if (value) { acl =posix_acl_from_xattr (value, size); -if (IS_ERR (acl))
fs/ext2/acl.c ext2_xattr_set_acl(struct dentry *dentry, const · line 410
Quoted 10 lines
fs/ext2/acl.c +4
-6-return PTR_ERR (acl); - else if (acl) { - error =posix_acl_valid (acl); -if (error) - goto release_and_out; - } + + error =posix_acl_valid (acl); +if (error) + goto release_and_out;
Don't you also need to either update posix_acl_release() in your first patch to handle IS_ERR(acl), or else update the release_and_out:
path in each caller?
Quoted 8 lines
fs/ext2/acl.c +1
-0+ }else acl =NULL ;Signature · 3 lines
-- Best Regards, Liuwenyi