aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2011-11-24 18:09:00 -0500
committerDavid S. Miller <davem@davemloft.net>2011-11-29 00:23:13 -0500
commit10cae1c8dfbbdee55bdfcb7034f4c2c1197dc0a4 (patch)
treeb46d5e41cbc3e8852d9239153f82d268865fe14c
parentac1a1de31515d950f858ba47d2bba74ff9a2614d (diff)
NET: NETROM: Cleanup argument SIOCADDRT ioctl argument checking.
nr_route.ndigis is unsigned int so the nr_route.ndigis < 0 expression is never true and can be dropped. Doing the nr_ax25_dev_get call later allows the nr_route.ndigis test to bail out without having to dev_put. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Cc: Thomas Osterried <thomas@osterried.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/netrom/nr_route.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/netrom/nr_route.c b/net/netrom/nr_route.c
index 8d7716ca5342..2cf330162d7e 100644
--- a/net/netrom/nr_route.c
+++ b/net/netrom/nr_route.c
@@ -670,12 +670,10 @@ int nr_rt_ioctl(unsigned int cmd, void __user *arg)
670 case SIOCADDRT: 670 case SIOCADDRT:
671 if (copy_from_user(&nr_route, arg, sizeof(struct nr_route_struct))) 671 if (copy_from_user(&nr_route, arg, sizeof(struct nr_route_struct)))
672 return -EFAULT; 672 return -EFAULT;
673 if ((dev = nr_ax25_dev_get(nr_route.device)) == NULL) 673 if (nr_route.ndigis > AX25_MAX_DIGIS)
674 return -EINVAL; 674 return -EINVAL;
675 if (nr_route.ndigis < 0 || nr_route.ndigis > AX25_MAX_DIGIS) { 675 if ((dev = nr_ax25_dev_get(nr_route.device)) == NULL)
676 dev_put(dev);
677 return -EINVAL; 676 return -EINVAL;
678 }
679 switch (nr_route.type) { 677 switch (nr_route.type) {
680 case NETROM_NODE: 678 case NETROM_NODE:
681 if (strnlen(nr_route.mnemonic, 7) == 7) { 679 if (strnlen(nr_route.mnemonic, 7) == 7) {