]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
6lowpan: release device on error path
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 7 Nov 2013 07:44:45 +0000 (10:44 +0300)
committerJiri Slaby <jslaby@suse.cz>
Fri, 3 Mar 2017 10:31:12 +0000 (11:31 +0100)
commit 78032f9b3eae3a43da9468d8ce30caa6be84f89d upstream.

We recently added a new error path and it needs a dev_put().

Fixes: 7adac1ec8198 ('6lowpan: Only make 6lowpan links to IEEE802154 devices')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
net/ieee802154/6lowpan.c

index ceabe6f13216a29c52fdcd3495bd081bb33c9bb8..70348be444c181d42dffb2ccf8f1b74c2135cbd0 100644 (file)
@@ -1392,8 +1392,10 @@ static int lowpan_newlink(struct net *src_net, struct net_device *dev,
        real_dev = dev_get_by_index(src_net, nla_get_u32(tb[IFLA_LINK]));
        if (!real_dev)
                return -ENODEV;
-       if (real_dev->type != ARPHRD_IEEE802154)
+       if (real_dev->type != ARPHRD_IEEE802154) {
+               dev_put(real_dev);
                return -EINVAL;
+       }
 
        lowpan_dev_info(dev)->real_dev = real_dev;
        lowpan_dev_info(dev)->fragment_tag = 0;