cifs: clean up id_mode_to_cifs_acl
authorJeff Layton <jlayton@redhat.com>
Sun, 25 Nov 2012 13:00:35 +0000 (08:00 -0500)
committerSteve French <smfrench@gmail.com>
Wed, 5 Dec 2012 19:12:16 +0000 (13:12 -0600)
Add a label we can goto on error, and get rid of some excess indentation.
Also move to kernel-style comments.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/cifsacl.c

index 0fb15bbbe43cd955150336dec51b415ee1901c5a..b45ec7426ae3933d4778f6b295a1b77c47fb7ba6 100644 (file)
@@ -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;
 }