OSDN Git Service

net: rose: add missing dev_put() on error in rose_bind
authorYueHaibing <yuehaibing@huawei.com>
Tue, 19 Feb 2019 08:06:22 +0000 (16:06 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Feb 2019 21:22:46 +0000 (13:22 -0800)
when capable check failed, dev_put should
be call before return -EACCES.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rose/af_rose.c

index d00a0ef..c96f63f 100644 (file)
@@ -689,8 +689,10 @@ static int rose_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
                rose->source_call = user->call;
                ax25_uid_put(user);
        } else {
-               if (ax25_uid_policy && !capable(CAP_NET_BIND_SERVICE))
+               if (ax25_uid_policy && !capable(CAP_NET_BIND_SERVICE)) {
+                       dev_put(dev);
                        return -EACCES;
+               }
                rose->source_call   = *source;
        }