On Mon, Dec 28, 2009 at 11:00:58PM +0800, liu weni wrote: >If the acl pointer is NULL or have some error, the acl is invalid. >The Macro of FOREACH_ACL_ENTRY will make some error. > >--- >Signed-off-by: Liuwenyi <qingshenlwy@xxxxxxxxx> >Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> >Cc: linux-fsdevel@xxxxxxxxxxxxxxx >Cc: linux-kernel@xxxxxxxxxxxxxxx > >--- >diff --git a/fs/posix_acl.c b/fs/posix_acl.c >index 39df95a..45f8afa 100644 >--- a/fs/posix_acl.c >+++ b/fs/posix_acl.c >@@ -76,6 +76,12 @@ posix_acl_valid(const struct posix_acl *acl) > unsigned int id = 0; /* keep gcc happy */ > int needs_mask = 0; > >+ if (!acl) >+ return -EINVAL; >+ >+ if (IS_ERR) Did you even do a compile test? I don't think this line will work... >+ return PTR_ERR(acl); >+ > FOREACH_ACL_ENTRY(pa, acl, pe) { > if (pa->e_perm & ~(ACL_READ|ACL_WRITE|ACL_EXECUTE)) > return -EINVAL; >-- >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >the body of a message to majordomo@xxxxxxxxxxxxxxx >More majordomo info at http://vger.kernel.org/majordomo-info.html >Please read the FAQ at http://www.tux.org/lkml/ -- Live like a child, think like the god. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html