Kfree can cope with a null argument, so drop null tests.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@ expression ptr; @@
- if (ptr != NULL)
  kfree(ptr);
// </smpl>
In the first case, the only cleanup needed is the unlock, so jump to that
directly.
Likewise, in the first two failure cases of ptlrpc_lprocfs_nrs_seq_write,
no cleanup is needed, so just drop the goto and return directly.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        infos = kcalloc(num_pols, sizeof(*infos), GFP_NOFS);
        if (infos == NULL) {
                rc = -ENOMEM;
-               goto out;
+               goto unlock;
        }
 again:
 
                goto again;
        }
 
-out:
-       if (infos)
-               kfree(infos);
-
+       kfree(infos);
+unlock:
        mutex_unlock(&nrs_core.nrs_mutex);
 
        return rc;
        char                           *token;
        int                             rc = 0;
 
-       if (count >= LPROCFS_NRS_WR_MAX_CMD) {
-               rc = -EINVAL;
-               goto out;
-       }
+       if (count >= LPROCFS_NRS_WR_MAX_CMD)
+               return -EINVAL;
 
        cmd = kzalloc(LPROCFS_NRS_WR_MAX_CMD, GFP_NOFS);
-       if (cmd == NULL) {
-               rc = -ENOMEM;
-               goto out;
-       }
+       if (cmd == NULL)
+               return -ENOMEM;
        /**
         * strsep() modifies its argument, so keep a copy
         */
 
        mutex_unlock(&nrs_core.nrs_mutex);
 out:
-       if (cmd_copy)
-               kfree(cmd_copy);
+       kfree(cmd_copy);
 
        return rc < 0 ? rc : count;
 }
 {
        struct ptlrpc_srh_iterator *srhi = iter;
 
-       if (srhi != NULL)
-               kfree(srhi);
+       kfree(srhi);
 }
 
 static void *