Skip to contentSkip to conversation

posix_acl: Add the check items

PATCH In review Liuwenyi 2 participants 2 messages Dec 21, 2009 ext2 file system

lore
Share & tools
lore

Liuwenyi

author
#0 lore raw

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.

---

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 -0
index a99e543..480fe88 100644
@@ -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
#1 lore raw
Quoted 24 lines · Liuwenyi

move the ACL validation check in to fs/posix_acl.c. Including nullpointer check and PTR_ERR check.

---

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
index a99e543..480fe88 100644
@@ -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