From: Dan Carpenter Date: Thu, 7 Nov 2013 07:44:45 +0000 (+0300) Subject: 6lowpan: release device on error path X-Git-Tag: v3.12.71~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8303768920eeff9f903e1ddd84f9c08de916b56d;p=thirdparty%2Fkernel%2Fstable.git 6lowpan: release device on error path 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 Signed-off-by: David S. Miller Signed-off-by: Jiri Slaby --- diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c index ceabe6f13216a..70348be444c18 100644 --- a/net/ieee802154/6lowpan.c +++ b/net/ieee802154/6lowpan.c @@ -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;