Re: [PATCH 1/4] cifs: clean up id_mode_to_cifs_acl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 16, 2012 at 6:26 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> Add a label we can goto on error, and get rid of some excess indentation.
> Also move to kernel-style comments.
>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  fs/cifs/cifsacl.c | 53 +++++++++++++++++++++++++----------------------------
>  1 file changed, 25 insertions(+), 28 deletions(-)
>
> diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
> index 0955d23..d0b2bfb 100644
> --- a/fs/cifs/cifsacl.c
> +++ b/fs/cifs/cifsacl.c
> @@ -1307,42 +1307,39 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode,
>
>         /* Get the security descriptor */
>         pntsd = get_cifs_acl(CIFS_SB(inode->i_sb), inode, path, &secdesclen);
> -
> -       /* Add three ACEs for owner, group, everyone getting rid of
> -          other ACEs as chmod disables ACEs and set the security descriptor */
> -
>         if (IS_ERR(pntsd)) {
>                 rc = PTR_ERR(pntsd);
>                 cERROR(1, "%s: error %d getting sec desc", __func__, rc);
> -       } else {
> -               /* allocate memory for the smb header,
> -                  set security descriptor request security descriptor
> -                  parameters, and secuirty descriptor itself */
> -
> -               secdesclen = secdesclen < DEFSECDESCLEN ?
> -                                       DEFSECDESCLEN : secdesclen;
> -               pnntsd = kmalloc(secdesclen, GFP_KERNEL);
> -               if (!pnntsd) {
> -                       cERROR(1, "Unable to allocate security descriptor");
> -                       kfree(pntsd);
> -                       return -ENOMEM;
> -               }
> +               goto out;
> +       }
>
> -               rc = build_sec_desc(pntsd, pnntsd, secdesclen, nmode, uid, gid,
> -                                       &aclflag);
> +       /*
> +        * Add three ACEs for owner, group, everyone getting rid of other ACEs
> +        * as chmod disables ACEs and set the security descriptor allocate
> +        * memory for the smb header, set security descriptor request security
> +        * descriptor parameters, and secuirty descriptor itself
> +        */
> +       secdesclen = max_t(u32, secdesclen, DEFSECDESCLEN);
> +       pnntsd = kmalloc(secdesclen, GFP_KERNEL);
> +       if (!pnntsd) {
> +               cERROR(1, "Unable to allocate security descriptor");
> +               kfree(pntsd);
> +               return -ENOMEM;
> +       }
>
> -               cFYI(DBG2, "build_sec_desc rc: %d", rc);
> +       rc = build_sec_desc(pntsd, pnntsd, secdesclen, nmode, uid, gid,
> +                               &aclflag);
>
> -               if (!rc) {
> -                       /* Set the security descriptor */
> -                       rc = set_cifs_acl(pnntsd, secdesclen, inode,
> -                                               path, aclflag);
> -                       cFYI(DBG2, "set_cifs_acl rc: %d", rc);
> -               }
> +       cFYI(DBG2, "build_sec_desc rc: %d", rc);
>
> -               kfree(pnntsd);
> -               kfree(pntsd);
> +       if (!rc) {
> +               /* Set the security descriptor */
> +               rc = set_cifs_acl(pnntsd, secdesclen, inode, path, aclflag);
> +               cFYI(DBG2, "set_cifs_acl rc: %d", rc);
>         }
>
> +       kfree(pnntsd);
> +       kfree(pntsd);
> +out:
>         return rc;
>  }
> --
> 1.7.11.7
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

This looks correct.

Reviewed-by:  Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux