pktgen: simplify error handling in pgctrl_write()
authorMathias Krause <minipli@googlemail.com>
Fri, 21 Feb 2014 20:38:35 +0000 (21:38 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Feb 2014 23:54:26 +0000 (18:54 -0500)
The 'out' label is just a relict from previous times as pgctrl_write()
had multiple error paths. Get rid of it and simply return right away
on errors.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/pktgen.c

index cc07c43..53c3097 100644 (file)
@@ -476,14 +476,11 @@ static int pgctrl_show(struct seq_file *seq, void *v)
 static ssize_t pgctrl_write(struct file *file, const char __user *buf,
                            size_t count, loff_t *ppos)
 {
-       int err = 0;
        char data[128];
        struct pktgen_net *pn = net_generic(current->nsproxy->net_ns, pg_net_id);
 
-       if (!capable(CAP_NET_ADMIN)) {
-               err = -EPERM;
-               goto out;
-       }
+       if (!capable(CAP_NET_ADMIN))
+               return -EPERM;
 
        if (count == 0)
                return -EINVAL;
@@ -491,10 +488,9 @@ static ssize_t pgctrl_write(struct file *file, const char __user *buf,
        if (count > sizeof(data))
                count = sizeof(data);
 
-       if (copy_from_user(data, buf, count)) {
-               err = -EFAULT;
-               goto out;
-       }
+       if (copy_from_user(data, buf, count))
+               return -EFAULT;
+
        data[count - 1] = 0;    /* Strip trailing '\n' and terminate string */
 
        if (!strcmp(data, "stop"))
@@ -509,10 +505,7 @@ static ssize_t pgctrl_write(struct file *file, const char __user *buf,
        else
                pr_warning("Unknown command: %s\n", data);
 
-       err = count;
-
-out:
-       return err;
+       return count;
 }
 
 static int pgctrl_open(struct inode *inode, struct file *file)