In this function, the parameter of acl will be called by FOREACH_ACL_ENTRY(macro)
without null point check. I add a Null point check to it.
---
Signed-off-by: Liuwenyi <[email protected]>
Cc: Alexander Viro <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
diff --git a/fs/posix_acl.c b/fs/posix_acl.c
index 39df95a..6d81a13 100644
--- a/fs/posix_acl.c
+++ b/fs/posix_acl.c
@@ -213,6 +213,9 @@ posix_acl_permission(struct inode *inode, const struct posix_acl *acl, int want)
const struct posix_acl_entry *pa, *pe, *mask_obj;
int found = 0;
+ if (!acl)
+ return -EINVAL;
+
FOREACH_ACL_ENTRY(pa, acl, pe) {
switch(pa->e_tag) {
case ACL_USER_OBJ:
--------------
Best Regards,
Liuweni
2009-12-17