In this function, the parameter of acl will be called by FOREACH_ACL_ENTRY(macro) without null pointer check. I add a Null point checker to it. In the fs/btrfs/btrfs_acl.c, the posix_acl_equiv_mode will make a error by null pointer. --- 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..37d0485 100644 --- a/fs/posix_acl.c +++ b/fs/posix_acl.c @@ -150,6 +150,9 @@ posix_acl_equiv_mode(const struct posix_acl *acl, mode_t *mode_p) mode_t mode = 0; int not_equiv = 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 -- 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