Re: [PATCHv2 03/12]posix_acl: Add the check items

From: Serge E. Hallyn
Date: Mon Dec 21 2009 - 10:39:32 EST


Quoting Liuwenyi (qingshenlwy@xxxxxxxxx):
> move the ACL validation check in to fs/posix_acl.c.
> Including nullpointer check and PTR_ERR check.
>
> ---
> Signed-off-by: Liuwenyi <qingshenlwy@xxxxxxxxx>
> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Cc: James Morris <jmorris@xxxxxxxxx>
> Cc: Joel Becker <joel.becker@xxxxxxxxxx>
> Cc: Serge Hallyn <serue@xxxxxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxx>
> Cc: linux-ext4@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
>
> ---
> diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c
> index a99e543..480fe88 100644
> --- a/fs/ext2/acl.c
> +++ b/fs/ext2/acl.c
> @@ -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;

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?

> +
> } else
> acl = NULL;
>
>
> --
> Best Regards,
> Liuwenyi
--
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/